From 4754801fe3521a4b3de3f91e4b7995b63acaa853 Mon Sep 17 00:00:00 2001 From: alwaysmesmerizingyou Date: Thu, 20 Aug 2026 20:59:46 -0700 Subject: [PATCH] changed electron to tauri v2 --- .gitignore | 6 +- .gitlab-ci.yml | 26 +- build-pipeline.js | 22 - config/env.json | 3 +- main.js | 601 +- package-lock.json | 4887 +--------------- package.json | 15 +- service-manager.js | 17 +- src-tauri/Cargo.lock | 5168 +++++++++++++++++ src-tauri/Cargo.toml | 16 + src-tauri/build.rs | 3 + src-tauri/gen/schemas/acl-manifests.json | 1 + src-tauri/gen/schemas/capabilities.json | 1 + src-tauri/gen/schemas/desktop-schema.json | 2875 +++++++++ src-tauri/gen/schemas/windows-schema.json | 2875 +++++++++ src-tauri/icons/128x128.png | Bin 0 -> 5918 bytes src-tauri/icons/128x128@2x.png | Bin 0 -> 11515 bytes src-tauri/icons/32x32.png | Bin 0 -> 1301 bytes src-tauri/icons/64x64.png | Bin 0 -> 2851 bytes src-tauri/icons/Square107x107Logo.png | Bin 0 -> 4943 bytes src-tauri/icons/Square142x142Logo.png | Bin 0 -> 6585 bytes src-tauri/icons/Square150x150Logo.png | Bin 0 -> 7073 bytes src-tauri/icons/Square284x284Logo.png | Bin 0 -> 16818 bytes src-tauri/icons/Square30x30Logo.png | Bin 0 -> 1218 bytes src-tauri/icons/Square310x310Logo.png | Bin 0 -> 19261 bytes src-tauri/icons/Square44x44Logo.png | Bin 0 -> 1851 bytes src-tauri/icons/Square71x71Logo.png | Bin 0 -> 3152 bytes src-tauri/icons/Square89x89Logo.png | Bin 0 -> 3824 bytes src-tauri/icons/StoreLogo.png | Bin 0 -> 2098 bytes .../android/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../icons/android/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2248 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 7397 bytes .../android/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 2037 bytes .../icons/android/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2222 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 4845 bytes .../android/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 1903 bytes .../android/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4908 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 10888 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 4082 bytes .../android/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7662 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 20418 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 6308 bytes .../android/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10648 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 31981 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 8467 bytes .../android/values/ic_launcher_background.xml | 4 + src-tauri/icons/icon.icns | Bin 0 -> 230048 bytes src-tauri/icons/icon.ico | Bin 0 -> 22163 bytes src-tauri/icons/icon.png | Bin 0 -> 39872 bytes src-tauri/icons/ios/AppIcon-20x20@1x.png | Bin 0 -> 541 bytes src-tauri/icons/ios/AppIcon-20x20@2x-1.png | Bin 0 -> 1165 bytes src-tauri/icons/ios/AppIcon-20x20@2x.png | Bin 0 -> 1165 bytes src-tauri/icons/ios/AppIcon-20x20@3x.png | Bin 0 -> 1814 bytes src-tauri/icons/ios/AppIcon-29x29@1x.png | Bin 0 -> 880 bytes src-tauri/icons/ios/AppIcon-29x29@2x-1.png | Bin 0 -> 1833 bytes src-tauri/icons/ios/AppIcon-29x29@2x.png | Bin 0 -> 1833 bytes src-tauri/icons/ios/AppIcon-29x29@3x.png | Bin 0 -> 2649 bytes src-tauri/icons/ios/AppIcon-40x40@1x.png | Bin 0 -> 1165 bytes src-tauri/icons/ios/AppIcon-40x40@2x-1.png | Bin 0 -> 2498 bytes src-tauri/icons/ios/AppIcon-40x40@2x.png | Bin 0 -> 2498 bytes src-tauri/icons/ios/AppIcon-40x40@3x.png | Bin 0 -> 3831 bytes src-tauri/icons/ios/AppIcon-512@2x.png | Bin 0 -> 77172 bytes src-tauri/icons/ios/AppIcon-60x60@2x.png | Bin 0 -> 3831 bytes src-tauri/icons/ios/AppIcon-60x60@3x.png | Bin 0 -> 5927 bytes src-tauri/icons/ios/AppIcon-76x76@1x.png | Bin 0 -> 2386 bytes src-tauri/icons/ios/AppIcon-76x76@2x.png | Bin 0 -> 4911 bytes src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png | Bin 0 -> 5343 bytes src-tauri/src/main.rs | 131 + src-tauri/tauri.conf.json | 26 + ui/index.html | 270 + ui/logo.txt | 6 + update-client.js | 53 +- 72 files changed, 11783 insertions(+), 5228 deletions(-) create mode 100644 src-tauri/Cargo.lock create mode 100644 src-tauri/Cargo.toml create mode 100644 src-tauri/build.rs create mode 100644 src-tauri/gen/schemas/acl-manifests.json create mode 100644 src-tauri/gen/schemas/capabilities.json create mode 100644 src-tauri/gen/schemas/desktop-schema.json create mode 100644 src-tauri/gen/schemas/windows-schema.json create mode 100644 src-tauri/icons/128x128.png create mode 100644 src-tauri/icons/128x128@2x.png create mode 100644 src-tauri/icons/32x32.png create mode 100644 src-tauri/icons/64x64.png create mode 100644 src-tauri/icons/Square107x107Logo.png create mode 100644 src-tauri/icons/Square142x142Logo.png create mode 100644 src-tauri/icons/Square150x150Logo.png create mode 100644 src-tauri/icons/Square284x284Logo.png create mode 100644 src-tauri/icons/Square30x30Logo.png create mode 100644 src-tauri/icons/Square310x310Logo.png create mode 100644 src-tauri/icons/Square44x44Logo.png create mode 100644 src-tauri/icons/Square71x71Logo.png create mode 100644 src-tauri/icons/Square89x89Logo.png create mode 100644 src-tauri/icons/StoreLogo.png create mode 100644 src-tauri/icons/android/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 src-tauri/icons/android/mipmap-hdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/mipmap-mdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/values/ic_launcher_background.xml create mode 100644 src-tauri/icons/icon.icns create mode 100644 src-tauri/icons/icon.ico create mode 100644 src-tauri/icons/icon.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@2x-1.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@2x-1.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@2x-1.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-512@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-60x60@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-60x60@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-76x76@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-76x76@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png create mode 100644 src-tauri/src/main.rs create mode 100644 src-tauri/tauri.conf.json create mode 100644 ui/index.html create mode 100644 ui/logo.txt diff --git a/.gitignore b/.gitignore index 4459ec9..7f6cd27 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,9 @@ manifest.json integrity-report.json validation-report.json +# Rust & Tauri +src-tauri/target/ + # Encrypted files (build-time only) config/encrypted-credentials.json @@ -37,9 +40,6 @@ npm-debug.log* yarn-debug.log* yarn-error.log* -# Electron -out/ - # Temporary files *.tmp *.temp diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a1cf91a..339f69a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -13,7 +13,7 @@ build: - build-pipeline.js - package.json - config/**/* - - main.js + - src-tauri/**/* - service-manager.js - patcher.js - credential-manager.js @@ -43,8 +43,10 @@ build: key: files: - package-lock.json + - src-tauri/Cargo.lock paths: - node_modules/ + - src-tauri/target/ script: - npm ci @@ -121,15 +123,25 @@ build: Write-Host "Validation report verified" } - - Write-Host "Packaging Electron application..." - - npm run dist + - Write-Host "Setting up Rust toolchain..." + - | + if (-not (Get-Command rustup -ErrorAction SilentlyContinue)) { + Invoke-WebRequest -Uri "https://win.rustup.rs/x86_64" -OutFile "rustup-init.exe" + .\rustup-init.exe -y --default-toolchain stable + Remove-Item "rustup-init.exe" + } + $env:Path = "$env:USERPROFILE\.cargo\bin;" + $env:Path + + - Write-Host "Packaging Tauri application..." + - npm run build - | Write-Host "Publishing Release to GitLab..." $versionTag = "v$env:CI_PIPELINE_IID" - $exeItem = Get-ChildItem dist/*.exe | Select-Object -First 1 + $exeItem = Get-ChildItem src-tauri/target/release/bundle/nsis/*.exe, src-tauri/target/release/bundle/msi/*.msi | Select-Object -First 1 $exeName = $exeItem.Name $exeEncoded = [System.Uri]::EscapeDataString($exeName) + $bundleDir = $exeItem.Directory.Name $releaseBody = @{ name = "Vyla Home Release $versionTag" @@ -140,7 +152,7 @@ build: links = @( @{ name = "$exeName" - url = "$env:CI_PROJECT_URL/-/jobs/$env:CI_JOB_ID/artifacts/raw/dist/$exeEncoded" + url = "$env:CI_PROJECT_URL/-/jobs/$env:CI_JOB_ID/artifacts/raw/src-tauri/target/release/bundle/$bundleDir/$exeEncoded" link_type = "package" }, @{ @@ -175,6 +187,6 @@ build: - update-payload.zip - manifest.json - validation-report.json - - dist/*.exe - - dist/*.exe.blockmap + - src-tauri/target/release/bundle/nsis/*.exe + - src-tauri/target/release/bundle/msi/*.msi expire_in: 30 days \ No newline at end of file diff --git a/build-pipeline.js b/build-pipeline.js index 1ad139f..b19ad9b 100644 --- a/build-pipeline.js +++ b/build-pipeline.js @@ -69,28 +69,6 @@ function installOneRepo(repo) { cwd: repoDir, stdio: 'inherit' }); - - const pkg = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf8')); - const hasNativeDeps = pkg.dependencies && Object.keys(pkg.dependencies).some(dep => - ['bcrypt', 'sharp', 'sqlite3'].includes(dep) - ); - - if (hasNativeDeps) { - const electronVersion = JSON.parse( - fs.readFileSync(path.join(__dirname, 'package.json'), 'utf8') - ).devDependencies.electron.replace(/^[\^~]/, ''); - - if (!/^\d+\.\d+\.\d+$/.test(electronVersion)) { - throw new Error(`Cannot resolve exact Electron version from "${electronVersion}"; pin an exact version in package.json devDependencies before building.`); - } - - const rebuildBin = path.join(__dirname, 'node_modules', '.bin', process.platform === 'win32' ? 'electron-rebuild.cmd' : 'electron-rebuild'); - - execSync(`"${rebuildBin}" -f -v ${electronVersion} -m "${repoDir}"`, { - cwd: __dirname, - stdio: 'inherit' - }); - } } catch (error) { throw new Error(`npm install failed for ${repo}: ${error.message}`); } diff --git a/config/env.json b/config/env.json index 5e67c20..663e850 100644 --- a/config/env.json +++ b/config/env.json @@ -14,6 +14,7 @@ "PROXY_URL": "https://txt.primebox.workers.dev", "PROXY_STREAMS": "true", "ENABLE_DEBUG_ROUTE": "true", - "BYPASS_AUTH": "true" + "BYPASS_AUTH": "true", + "TOKEN_SECRET": "vyla_default_secure_token_secret_local_dev_32chars" } } \ No newline at end of file diff --git a/main.js b/main.js index 2622c6f..d37a8de 100644 --- a/main.js +++ b/main.js @@ -1,33 +1,20 @@ -const { app, BrowserWindow, ipcMain, Menu } = require('electron'); const path = require('path'); const fs = require('fs'); +const os = require('os'); const express = require('express'); const ServiceManager = require('./service-manager'); const Patcher = require('./patcher'); const UpdateClient = require('./update-client'); -let mainWindow; let serviceManager; let expressApp; let expressServer; let playerExpressApp; let playerExpressServer; -const gotLock = app.requestSingleInstanceLock(); - -if (!gotLock) { - app.quit(); -} else { - app.on('second-instance', () => { - if (mainWindow) { - if (mainWindow.isMinimized()) mainWindow.restore(); - mainWindow.focus(); - } - }); -} - -const APPDATA_DIR = path.join(app.getPath('userData'), 'vyla-home-files'); +const APPDATA_DIR = process.env.APPDATA_PATH || path.join(os.homedir(), 'AppData', 'Roaming', 'vyla-home', 'vyla-home-files'); fs.mkdirSync(APPDATA_DIR, { recursive: true }); +console.log(`[DEBUG] AppData directory: ${APPDATA_DIR}`); const envConfig = JSON.parse(fs.readFileSync(path.join(__dirname, 'config/env.json'), 'utf8')); const replacementsConfig = JSON.parse(fs.readFileSync(path.join(__dirname, 'config/replacements.json'), 'utf8')); @@ -36,508 +23,24 @@ const updateClient = new UpdateClient(APPDATA_DIR); process.on('unhandledRejection', (reason) => { const message = reason && reason.message ? reason.message : String(reason); + console.error(`[ERROR] Unhandled Rejection: ${message}`); fs.appendFileSync(path.join(APPDATA_DIR, 'crash.log'), `[${new Date().toISOString()}] UNHANDLED REJECTION: ${message}\n`, 'utf8'); }); process.on('uncaughtException', (err) => { + console.error(`[ERROR] Uncaught Exception: ${err.message}`); fs.appendFileSync(path.join(APPDATA_DIR, 'crash.log'), `[${new Date().toISOString()}] UNCAUGHT EXCEPTION: ${err.message}\n`, 'utf8'); }); -async function createWindow() { - const asciiLogo = fs.readFileSync(path.join(__dirname, 'build', 'logo.txt'), 'utf8'); - - mainWindow = new BrowserWindow({ - width: 1280, - height: 800, - title: 'Vyla Home', - icon: path.join(__dirname, 'build', 'icon.ico'), - titleBarStyle: 'hidden', - titleBarOverlay: { - color: '#00000000', - symbolColor: '#ffffff', - height: 40 - }, - webPreferences: { - nodeIntegration: false, - contextIsolation: true, - preload: path.join(__dirname, 'preload.js') - } - }); - - Menu.setApplicationMenu(null); - - mainWindow.webContents.setWindowOpenHandler(({ url }) => { - mainWindow.loadURL(url); - return { action: 'deny' }; - }); - - mainWindow.loadURL('data:text/html;charset=utf-8,' + encodeURIComponent(` - - - - -Vyla Home - - - - -
- - -
- -
- - - - - -`)); - +async function start() { + console.log('[DEBUG] Initializing patcher and service manager...'); const patcher = new Patcher(APPDATA_DIR); serviceManager = new ServiceManager(APPDATA_DIR, envConfig); - const showUpdatePrompt = (currentVersion, newVersion) => { - return new Promise((resolve) => { - ipcMain.removeAllListeners('update-choice'); - ipcMain.once('update-choice', (event, choice) => { - resolve(choice); - }); - - mainWindow.loadURL('data:text/html;charset=utf-8,' + encodeURIComponent(` - - - - -Update Available - - - - -
- - - - - - -

Update Available

- -

You're running version ${currentVersion}. Version ${newVersion} is available.\nInstalling will fetch the latest build.

- -
- - -
- - - - - -`)); - }); - }; - - const handleFatalError = (errMessage) => { - mainWindow.loadURL('data:text/html;charset=utf-8,' + encodeURIComponent(` - - - - -Startup Error - - - - -
- - - - - - -

Couldn't start Vyla Home

- -

${errMessage}

- - -
- - - -`)); - }; - const installBuild = async (release) => { const tempZipPath = path.join(APPDATA_DIR, 'download-temp.zip'); let attempts = 0; @@ -546,14 +49,17 @@ button:active { while (attempts < 3 && !downloadSuccess) { attempts++; try { + console.log(`[DEBUG] Downloading update, attempt ${attempts}...`); await updateClient.downloadUpdate(release, tempZipPath, (downloaded, total) => { const percent = Math.round((downloaded / total) * 100); + sendToTauri('download-progress', { downloaded, total, percent }); }); if (!patcher.verifyChecksum(tempZipPath, release.sha256)) { throw new Error('SHA-256 checksum verification failed.'); } + console.log('[DEBUG] Extracting payload and applying patches...'); patcher.purgeOldCode(); patcher.extractZipPayload(tempZipPath); @@ -581,54 +87,67 @@ button:active { const isFirstRun = !patcher.verifyExtraction(); const localVersion = patcher.getCurrentVersion(); const localSha = patcher.getCurrentSha(); + console.log(`[DEBUG] Local version: ${localVersion}, isFirstRun: ${isFirstRun}`); - const release = await updateClient.checkForUpdates(); - const hasUpdate = release.version !== localVersion || (release.sha256 && release.sha256 !== localSha); + let release = null; + try { + release = await updateClient.checkForUpdates(); + } catch (e) { + console.warn('[DEBUG] Could not check for remote updates:', e.message); + } - if (isFirstRun) { - await installBuild(release); - } else if (hasUpdate) { - const choice = await showUpdatePrompt(localVersion, release.version); - if (choice === 'install') { + if (release) { + const hasUpdate = release.version !== localVersion || (release.sha256 && release.sha256 !== localSha); + if (isFirstRun || hasUpdate) { + console.log('[DEBUG] Performing update install from release...'); await installBuild(release); } + } else if (isFirstRun) { + const localZip = path.join(__dirname, 'update-payload.zip'); + console.log(`[DEBUG] Checking local zip at: ${localZip} (exists: ${fs.existsSync(localZip)})`); + if (fs.existsSync(path.join(__dirname, 'update-payload.zip'))) { + const localZip = path.join(__dirname, 'update-payload.zip'); + console.log('[DEBUG] Syncing local update-payload.zip to AppData...'); + patcher.purgeOldCode(); + patcher.extractZipPayload(localZip); + patcher.applyPatches(replacementsConfig); + patcher.bridgeCredentials(serviceManager.credentialManager); + patcher.saveCurrentVersion("1.0.0"); + } } - if (!patcher.verifyExtraction()) { - throw new Error('No application files found. Check your internet connection and try again.'); + const verified = patcher.verifyExtraction(); + console.log(`[DEBUG] Payload verification status: ${verified}`); + if (!verified) { + throw new Error('No application files found. Build the payload first using "npm run build:payload" or check your internet connection.'); } + console.log('[DEBUG] Loading credentials...'); serviceManager.credentialManager.loadCredentials(); + console.log('[DEBUG] Starting auth-proxy and stream-api...'); await serviceManager.startServices([ { name: 'auth-proxy', relativeDir: 'auth-proxy' }, { name: 'stream-api', relativeDir: 'stream-api' }, ]); const playerDir = path.join(APPDATA_DIR, 'player'); + console.log(`[DEBUG] Starting Player Express server on port 3001 from: ${playerDir}`); playerExpressApp = express(); playerExpressApp.use(express.static(playerDir, { maxAge: '1d', etag: true })); playerExpressApp.get('*', (req, res) => { res.sendFile(path.join(playerDir, 'index.html')); }); - playerExpressServer = playerExpressApp.listen(3001); + playerExpressServer = playerExpressApp.listen(3001, () => { + console.log('[DEBUG] Player Express server listening on 3001'); + }); + console.log('[DEBUG] Waiting for ports [3000, 3001, 7860]...'); await serviceManager.waitForPorts([3000, 3001, 7860]); - - const healthChecks = [ - { port: 3001, name: 'player' }, - { port: 3000, name: 'auth-proxy' }, - { port: 7860, name: 'stream-api' }, - ]; - for (const { port, name } of healthChecks) { - try { - await serviceManager.checkHealth(port, '/'); - } catch (e) { - serviceManager.logToFile(name, `Health check on / did not pass, continuing anyway: ${e.message}`); - } - } + console.log('[DEBUG] All ports ready!'); const frontendDir = path.join(APPDATA_DIR, 'frontend'); + console.log(`[DEBUG] Starting Frontend Express server on port 4890 from: ${frontendDir}`); expressApp = express(); expressApp.use(express.static(frontendDir, { maxAge: '1d', etag: true })); expressApp.get('*', (req, res) => { @@ -637,28 +156,24 @@ button:active { const FRONTEND_PORT = 4890; expressServer = expressApp.listen(FRONTEND_PORT, () => { - mainWindow.loadURL(`http://localhost:${FRONTEND_PORT}`); + console.log(`[DEBUG] Frontend Express server active at http://localhost:${FRONTEND_PORT}`); + sendToTauri('ready', { url: `http://localhost:${FRONTEND_PORT}` }); }); } catch (error) { if (serviceManager) { await serviceManager.stopAll().catch(() => { }); } - handleFatalError(error.message); + console.error('[DEBUG] Fatal error caught:', error.message); + sendToTauri('error', { message: error.message }); } } -if (gotLock) { - app.whenReady().then(createWindow); -} - -app.on('window-all-closed', async () => { +process.on('SIGINT', async () => { if (expressServer) expressServer.close(); if (playerExpressServer) playerExpressServer.close(); - if (serviceManager) { - await serviceManager.stopAll(); - } - if (process.platform !== 'darwin') { - app.quit(); - } -}); \ No newline at end of file + if (serviceManager) await serviceManager.stopAll(); + process.exit(0); +}); + +start(); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 6640299..9a3792f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,277 +8,18 @@ "name": "vyla-home", "version": "1.0.0", "dependencies": { + "@tauri-apps/api": "^2.0.0", + "@tauri-apps/plugin-process": "^2.0.0", + "@tauri-apps/plugin-shell": "^2.0.0", "@vyla-entertainment/sdk": "^1.2.0", "adm-zip": "^0.6.0", - "audit": "^0.0.6", "express": "^4.19.2" }, "devDependencies": { - "@electron/rebuild": "^4.2.0", - "electron": "^42.7.0", - "electron-builder": "^25.1.8", + "@tauri-apps/cli": "^2.0.0", "javascript-obfuscator": "^4.1.0" } }, - "node_modules/@develar/schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/@electron-internal/extract-zip": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@electron-internal/extract-zip/-/extract-zip-1.0.5.tgz", - "integrity": "sha512-+bqFCP98pLI0Tt0XQo1TmlXtwjWchISndDOxCkEcIuUgXWpBnLyRI+2DU+mesvnMMX6L1XDqYNA0lXNDHd/yiA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=22.12.0" - } - }, - "node_modules/@electron/asar": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.4.1.tgz", - "integrity": "sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "commander": "^5.0.0", - "glob": "^7.1.6", - "minimatch": "^3.0.4" - }, - "bin": { - "asar": "bin/asar.js" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/@electron/asar/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@electron/asar/node_modules/brace-expansion": { - "version": "1.1.18", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz", - "integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@electron/asar/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@electron/get": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-5.1.0.tgz", - "integrity": "sha512-3kSBtG8ObcTVfXanm5vVJ6UnBLEVmVsRk1M+vGqCuMBV+XLCbJYuWQful+yIy0GQDsSlK0kHEriEHn7SPk4EnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.1", - "env-paths": "^3.0.0", - "graceful-fs": "^4.2.11", - "progress": "^2.0.3", - "semver": "^7.6.3", - "sumchecker": "^3.0.1" - }, - "engines": { - "node": ">=22.12.0" - }, - "optionalDependencies": { - "undici": "^7.24.4" - } - }, - "node_modules/@electron/notarize": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.5.0.tgz", - "integrity": "sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.1", - "fs-extra": "^9.0.1", - "promise-retry": "^2.0.1" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@electron/notarize/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@electron/osx-sign": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.3.1.tgz", - "integrity": "sha512-BAfviURMHpmb1Yb50YbCxnOY0wfwaLXH5KJ4+80zS0gUkzDX3ec23naTlEqKsN+PwYn+a1cCzM7BJ4Wcd3sGzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "compare-version": "^0.1.2", - "debug": "^4.3.4", - "fs-extra": "^10.0.0", - "isbinaryfile": "^4.0.8", - "minimist": "^1.2.6", - "plist": "^3.0.5" - }, - "bin": { - "electron-osx-flat": "bin/electron-osx-flat.js", - "electron-osx-sign": "bin/electron-osx-sign.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@electron/osx-sign/node_modules/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, - "node_modules/@electron/rebuild": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-4.2.0.tgz", - "integrity": "sha512-RKL/O+jGoXJMxrx/5771y1n0xTKmFuOYGO3gMmwypBM6rsH0kou0mswwdXA2JrhIkE4xyC7v9vGk0n6NPzgOxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@malept/cross-spawn-promise": "^2.0.0", - "debug": "^4.1.1", - "node-abi": "^4.2.0", - "node-api-version": "^0.2.1", - "node-gyp": "^12.2.0", - "read-binary-file-arch": "^1.0.6" - }, - "bin": { - "electron-rebuild": "lib/cli.js" - }, - "engines": { - "node": ">=22.12.0" - } - }, - "node_modules/@electron/universal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-2.0.1.tgz", - "integrity": "sha512-fKpv9kg4SPmt+hY7SVBnIYULE9QJl8L3sCfcBsnqbJwwBwAeTLokJ9TRt9y7bK0JAzIW2y78TVVjvnQEms/yyA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@electron/asar": "^3.2.7", - "@malept/cross-spawn-promise": "^2.0.0", - "debug": "^4.3.1", - "dir-compare": "^4.2.0", - "fs-extra": "^11.1.1", - "minimatch": "^9.0.3", - "plist": "^3.1.0" - }, - "engines": { - "node": ">=16.4" - } - }, - "node_modules/@electron/universal/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@electron/universal/node_modules/brace-expansion": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", - "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@electron/universal/node_modules/fs-extra": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.4.0.tgz", - "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@electron/universal/node_modules/minimatch": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", - "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.2" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "dev": true, - "license": "MIT" - }, "node_modules/@inversifyjs/common": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/@inversifyjs/common/-/common-1.3.3.tgz", @@ -307,132 +48,6 @@ "reflect-metadata": "0.2.2" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.3.0.tgz", - "integrity": "sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.4" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@isaacs/fs-minipass/node_modules/minipass": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", - "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/@javascript-obfuscator/escodegen": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/@javascript-obfuscator/escodegen/-/escodegen-2.3.1.tgz", @@ -462,198 +77,249 @@ "node": ">=4.0" } }, - "node_modules/@malept/cross-spawn-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", - "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/malept" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" - } - ], - "license": "Apache-2.0", - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "engines": { - "node": ">= 12.13.0" + "node_modules/@tauri-apps/api": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.11.1.tgz", + "integrity": "sha512-M2FPuYND2m+wh5hfW9ZpSdxMPdEJovPBWwoHJmwUpysTYNHaOkVFN419m/K0LIgjb/7KU2vBgsUepJWugQCvAA==", + "license": "Apache-2.0 OR MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" } }, - "node_modules/@malept/flatpak-bundler": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz", - "integrity": "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==", + "node_modules/@tauri-apps/cli": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.11.4.tgz", + "integrity": "sha512-R8xGtMpwyetawSqm9kYOuMmEqkhUbvcUy8n0aNXIxollKBLESUu5f4Fx+64hgASYm1H+jSWq6jCW6zqTnH6hqQ==", "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.1", - "fs-extra": "^9.0.0", - "lodash": "^4.17.15", - "tmp-promise": "^3.0.2" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@malept/flatpak-bundler/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/fs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", - "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/move-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", - "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "dev": true, - "license": "MIT", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/move-file/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "license": "MIT", + "license": "Apache-2.0 OR MIT", "bin": { - "mkdirp": "bin/cmd.js" + "tauri": "tauri.js" }, "engines": { - "node": ">=10" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" + "node": ">= 10" }, "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "dev": true, - "license": "MIT", - "dependencies": { - "defer-to-connect": "^2.0.0" + "type": "opencollective", + "url": "https://opencollective.com/tauri" }, - "engines": { - "node": ">=10" + "optionalDependencies": { + "@tauri-apps/cli-darwin-arm64": "2.11.4", + "@tauri-apps/cli-darwin-x64": "2.11.4", + "@tauri-apps/cli-linux-arm-gnueabihf": "2.11.4", + "@tauri-apps/cli-linux-arm64-gnu": "2.11.4", + "@tauri-apps/cli-linux-arm64-musl": "2.11.4", + "@tauri-apps/cli-linux-riscv64-gnu": "2.11.4", + "@tauri-apps/cli-linux-x64-gnu": "2.11.4", + "@tauri-apps/cli-linux-x64-musl": "2.11.4", + "@tauri-apps/cli-win32-arm64-msvc": "2.11.4", + "@tauri-apps/cli-win32-ia32-msvc": "2.11.4", + "@tauri-apps/cli-win32-x64-msvc": "2.11.4" } }, - "node_modules/@tootallnate/once": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.1.tgz", - "integrity": "sha512-HqmEUIGRJ5fSXchkVgR5F7qn48bDBzv0kWj/Kfu5e6uci4UlEeng4331LnBkWffb++Ei3FOVLxo8JJWMFBDMeQ==", + "node_modules/@tauri-apps/cli-darwin-arm64": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.11.4.tgz", + "integrity": "sha512-1ryOF3ZhpZ/nemHV5zVwBQBz9jDGKmKPvWPADOhc83ig0P4bMc2iER4NbC6r9sjeIZ6RVQ4g3RZIYvezhcl4TQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { "node": ">= 10" } }, - "node_modules/@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "node_modules/@tauri-apps/cli-darwin-x64": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.11.4.tgz", + "integrity": "sha512-uFsGQAAfuyz1k/yGLmkWfkBlgKAqZfxqlHmLWx81QU27RJWfmbNHCIq8T8w1e+VClleIuZUjpHWfoE4E3DLo3A==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@types/debug": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", - "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.11.4.tgz", + "integrity": "sha512-IaHZn5CdBL21oUmjiVOS1ctw6Ip1O0pjp70FwOWmYz1myWe0SY96ZIj2FYf7pT0m8bI2h/hrs5ZbEXXh44/MkQ==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/ms": "*" + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@types/fs-extra": { - "version": "9.0.13", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", - "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "node_modules/@tauri-apps/cli-linux-arm64-gnu": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.11.4.tgz", + "integrity": "sha512-N41/ukTRVe6XSuUTESuFdGeOW2i7k62tK+6gHK5Kd5/q5RPvvi19GaWAVPPb9u95HSGmTChSolBfzynUsssFaA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@types/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==", + "node_modules/@tauri-apps/cli-linux-arm64-musl": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.11.4.tgz", + "integrity": "sha512-v277UnT/fB64xAfSroL5N3Km3tLmvATWqJJw/wRI+g6o+HkeD0slyE7gOhNs1MbjE41R7bQOTxMVoL3aomUJmw==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } }, - "node_modules/@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "node_modules/@tauri-apps/cli-linux-riscv64-gnu": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-riscv64-gnu/-/cli-linux-riscv64-gnu-2.11.4.tgz", + "integrity": "sha512-qqgNkQ2u1yZHxjhxsZaxUtRDW8dIqIYm33rx/mzwQv0SfY9x1B+iraj8vWeFiXjjSVVhEMepXSOts1TqPzvXNQ==", + "cpu": [ + "riscv64" + ], "dev": true, - "license": "MIT", + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-gnu": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.11.4.tgz", + "integrity": "sha512-2VRNWl84FOH0m2giiDkO2h0QXlcMJeX+zJDpI5kDIQAx6s+geF3v48F4DXfJez4GS/FdoDGnPnw1C2iYGbQ7bQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-musl": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.11.4.tgz", + "integrity": "sha512-o9GyhYor/nc7xarmwDE3ka2szuW3uuZzXjHWh64Q8YX5AtSgxdQkFWzrY4O8KiGtVNvFBI14H3Q49Qj5TOIP/A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-arm64-msvc": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.11.4.tgz", + "integrity": "sha512-ld5Ehb598m0VkYyylRPNeCFsBe/km0jxis6KgMpl3IGY6I/i1RwQXO05I1AsXUXO2WC6AvB/Lw4qTf/asiuEiQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-ia32-msvc": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.11.4.tgz", + "integrity": "sha512-12Hxi0XX/H5VFxO/bGgHkFWhml9VMgEOu9CidjeCeTNQ1l6fpUlbiGgSP7CLI3PFtW9/FfbeHieZ+kyWK5H7CA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-x64-msvc": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.11.4.tgz", + "integrity": "sha512-+vDiqBIU5dMISg/wNvX3sF+ZHfgJGJ5T0AcO+EHNXV9GGAG+P5fzodlDXD3QdKCRgZxMoCm5PPvj3BqLNjBthw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/plugin-process": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-process/-/plugin-process-2.3.1.tgz", + "integrity": "sha512-nCa4fGVaDL/B9ai03VyPOjfAHRHSBz5v6F/ObsB73r/dA3MHHhZtldaDMIc0V/pnUw9ehzr2iEG+XkSEyC0JJA==", + "license": "MIT OR Apache-2.0", "dependencies": { - "@types/node": "*" + "@tauri-apps/api": "^2.8.0" + } + }, + "node_modules/@tauri-apps/plugin-shell": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-shell/-/plugin-shell-2.3.5.tgz", + "integrity": "sha512-jewtULhiQ7lI7+owCKAjc8tYLJr92U16bPOeAa472LHJdgaibLP83NcfAF2e+wkEcA53FxKQAZ7byDzs2eeizg==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@tauri-apps/api": "^2.10.1" } }, "node_modules/@types/minimatch": { @@ -663,45 +329,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", - "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "24.13.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz", - "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/@types/plist": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/plist/-/plist-3.0.5.tgz", - "integrity": "sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@types/node": "*", - "xmlbuilder": ">=11.0.1" - } - }, - "node_modules/@types/responselike": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", - "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/validator": { "version": "13.15.10", "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.15.10.tgz", @@ -709,47 +336,12 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/verror": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.11.tgz", - "integrity": "sha512-RlDm9K7+o5stv0Co8i8ZRGxDbrTxhJtgjqjFyVh/tXQyl/rYtTKlnTvZ88oSTeYREWurwx20Js4kTuKCsFkUtg==", - "dev": true, - "license": "MIT", - "optional": true - }, "node_modules/@vyla-entertainment/sdk": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@vyla-entertainment/sdk/-/sdk-1.2.0.tgz", "integrity": "sha512-s7jkF+cAm75W/9EZOfPo4LH2Fh3H9jrpAT1u+qsHi3L1yhjkRm2SnKeQBPMOt3hz1OttOxd62LP22iLBvUy7EQ==", "license": "CC-BY-NC-4.0" }, - "node_modules/@xmldom/xmldom": { - "version": "0.9.11", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.11.tgz", - "integrity": "sha512-tW8bcK3hsG0/uqSnNz6TK4BkcuZSezoU7DlnYssILmZDktPnSHHuDJJFM0AJv+13gz2r0iGdrj6qqKeUnxXEDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.6" - } - }, - "node_modules/7zip-bin": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.2.0.tgz", - "integrity": "sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A==", - "dev": true, - "license": "MIT" - }, - "node_modules/abbrev": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz", - "integrity": "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -785,54 +377,17 @@ "node": ">=14.0" } }, - "node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14" - } - }, - "node_modules/agentkeepalive": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", - "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/ajv": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", - "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -857,50 +412,6 @@ } } }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", - "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -917,270 +428,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/app-builder-bin": { - "version": "5.0.0-alpha.10", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-5.0.0-alpha.10.tgz", - "integrity": "sha512-Ev4jj3D7Bo+O0GPD2NMvJl+PGiBAfS7pUGawntBNpCbxtpncfUixqFj9z9Jme7V7s3LBGqsWZZP54fxBX3JKJw==", - "dev": true, - "license": "MIT" - }, - "node_modules/app-builder-lib": { - "version": "25.1.8", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-25.1.8.tgz", - "integrity": "sha512-pCqe7dfsQFBABC1jeKZXQWhGcCPF3rPCXDdfqVKjIeWBcXzyC1iOWZdfFhGl+S9MyE/k//DFmC6FzuGAUudNDg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@develar/schema-utils": "~2.6.5", - "@electron/notarize": "2.5.0", - "@electron/osx-sign": "1.3.1", - "@electron/rebuild": "3.6.1", - "@electron/universal": "2.0.1", - "@malept/flatpak-bundler": "^0.4.0", - "@types/fs-extra": "9.0.13", - "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.9", - "builder-util": "25.1.7", - "builder-util-runtime": "9.2.10", - "chromium-pickle-js": "^0.2.0", - "config-file-ts": "0.2.8-rc1", - "debug": "^4.3.4", - "dotenv": "^16.4.5", - "dotenv-expand": "^11.0.6", - "ejs": "^3.1.8", - "electron-publish": "25.1.7", - "form-data": "^4.0.0", - "fs-extra": "^10.1.0", - "hosted-git-info": "^4.1.0", - "is-ci": "^3.0.0", - "isbinaryfile": "^5.0.0", - "js-yaml": "^4.1.0", - "json5": "^2.2.3", - "lazy-val": "^1.0.5", - "minimatch": "^10.0.0", - "resedit": "^1.7.0", - "sanitize-filename": "^1.6.3", - "semver": "^7.3.8", - "tar": "^6.1.12", - "temp-file": "^3.4.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "dmg-builder": "25.1.8", - "electron-builder-squirrel-windows": "25.1.8" - } - }, - "node_modules/app-builder-lib/node_modules/@electron/rebuild": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.6.1.tgz", - "integrity": "sha512-f6596ZHpEq/YskUd8emYvOUne89ij8mQgjYFA5ru25QwbrRO+t1SImofdDv7kKOuWCmVOuU5tvfkbgGxIl3E/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@malept/cross-spawn-promise": "^2.0.0", - "chalk": "^4.0.0", - "debug": "^4.1.1", - "detect-libc": "^2.0.1", - "fs-extra": "^10.0.0", - "got": "^11.7.0", - "node-abi": "^3.45.0", - "node-api-version": "^0.2.0", - "node-gyp": "^9.0.0", - "ora": "^5.1.0", - "read-binary-file-arch": "^1.0.6", - "semver": "^7.3.5", - "tar": "^6.0.5", - "yargs": "^17.0.1" - }, - "bin": { - "electron-rebuild": "lib/cli.js" - }, - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/app-builder-lib/node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true, - "license": "ISC" - }, - "node_modules/app-builder-lib/node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/app-builder-lib/node_modules/node-abi": { - "version": "3.94.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.94.0.tgz", - "integrity": "sha512-W5ZNO5KRPB5TkYmGVD9F6YqhsglXJzE6etpbmT+f6EQElhiX/UTG551cnsRGvLG3fyZEg9HwaDmNmj5nwJ4z9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/app-builder-lib/node_modules/node-gyp": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.1.tgz", - "integrity": "sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", - "nopt": "^6.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^12.13 || ^14.13 || >=16" - } - }, - "node_modules/app-builder-lib/node_modules/nopt": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", - "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", - "dev": true, - "license": "ISC", - "dependencies": { - "abbrev": "^1.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/aproba": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.1.0.tgz", - "integrity": "sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==", - "dev": true, - "license": "ISC" - }, - "node_modules/archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.4", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/archiver-utils/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/archiver-utils/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/archiver-utils/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "deprecated": "This package is no longer supported.", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, "node_modules/array-differ": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", @@ -1231,62 +478,6 @@ "util": "^0.12.5" } }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "dev": true, - "license": "MIT" - }, - "node_modules/async-exit-hook": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", - "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/atomically": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/atomically/-/atomically-2.1.1.tgz", @@ -1298,14 +489,6 @@ "when-exit": "^2.1.4" } }, - "node_modules/audit": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/audit/-/audit-0.0.6.tgz", - "integrity": "sha512-xgv3Y3RIYE00N2/xk10VLlwFd1kjc7FRaX1vC8+CsOfDRe53a06vOSkp91BOSNijZfddYum47a1Fvju/2+JPcw==", - "engines": { - "node": ">= 0.5.0" - } - }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -1323,65 +506,12 @@ } }, "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true, "license": "MIT" }, - "node_modules/bluebird-lst": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", - "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "bluebird": "^3.5.5" - } - }, "node_modules/body-parser": { "version": "1.20.6", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.6.tgz", @@ -1406,80 +536,15 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, "node_modules/brace-expansion": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", - "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==", + "version": "1.1.18", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz", + "integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "*" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, "node_modules/buffer-from": { @@ -1489,45 +554,6 @@ "dev": true, "license": "MIT" }, - "node_modules/builder-util": { - "version": "25.1.7", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-25.1.7.tgz", - "integrity": "sha512-7jPjzBwEGRbwNcep0gGNpLXG9P94VA3CPAZQCzxkFXiV2GMQKlziMbY//rXPI7WKfhsvGgFXjTcXdBEwgXw9ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/debug": "^4.1.6", - "7zip-bin": "~5.2.0", - "app-builder-bin": "5.0.0-alpha.10", - "bluebird-lst": "^1.0.9", - "builder-util-runtime": "9.2.10", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "debug": "^4.3.4", - "fs-extra": "^10.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", - "is-ci": "^3.0.0", - "js-yaml": "^4.1.0", - "source-map-support": "^0.5.19", - "stat-mode": "^1.0.0", - "temp-file": "^3.4.0" - } - }, - "node_modules/builder-util-runtime": { - "version": "9.2.10", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.2.10.tgz", - "integrity": "sha512-6p/gfG1RJSQeIbz8TK5aPNkoztgY1q5TgmGFMAXcY8itsGW6Y2ld1ALsZ5UJn8rog7hKF3zHx5iQbNQ8uLcRlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.4", - "sax": "^1.2.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -1537,152 +563,6 @@ "node": ">= 0.8" } }, - "node_modules/cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/cacache/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/cacache/node_modules/brace-expansion": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", - "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/cacache/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/cacache/node_modules/minimatch": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", - "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cacache/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacache/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.6.0" - } - }, - "node_modules/cacheable-request": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", - "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", - "dev": true, - "license": "MIT", - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/call-bind": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", @@ -1775,39 +655,6 @@ "node": "*" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/chromium-pickle-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", - "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==", - "dev": true, - "license": "MIT" - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/class-validator": { "version": "0.14.3", "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.3.tgz", @@ -1820,98 +667,6 @@ "validator": "^13.15.20" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1932,64 +687,14 @@ "dev": true, "license": "MIT" }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true, - "license": "ISC", - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 6" - } - }, - "node_modules/compare-version": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", - "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/compress-commons": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz", - "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" + "node": ">=18" } }, "node_modules/concat-map": { @@ -2023,113 +728,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/conf/node_modules/ajv": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", - "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/conf/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/config-file-ts": { - "version": "0.2.8-rc1", - "resolved": "https://registry.npmjs.org/config-file-ts/-/config-file-ts-0.2.8-rc1.tgz", - "integrity": "sha512-GtNECbVI82bT4RiDIzBSVuTKoSHufnU7Ce7/42bkWZJZFLjmDF2WBpVsvRkhKCfKBnTBb3qZrBwPpFBU/Myvhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob": "^10.3.12", - "typescript": "^5.4.3" - } - }, - "node_modules/config-file-ts/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/config-file-ts/node_modules/brace-expansion": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", - "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/config-file-ts/node_modules/glob": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", - "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/config-file-ts/node_modules/minimatch": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", - "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.2" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/config-file-ts/node_modules/minipass": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", - "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true, - "license": "ISC" - }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -2166,68 +764,6 @@ "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", "license": "MIT" }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "buffer": "^5.1.0" - } - }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/crc32-stream": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz", - "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/crypt": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", @@ -2255,50 +791,12 @@ } }, "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "license": "MIT", "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "ms": "2.0.0" } }, "node_modules/deep-is": { @@ -2308,29 +806,6 @@ "dev": true, "license": "MIT" }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", @@ -2367,23 +842,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true, - "license": "MIT" - }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -2403,103 +861,6 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/dir-compare": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-4.2.0.tgz", - "integrity": "sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimatch": "^3.0.5", - "p-limit": "^3.1.0 " - } - }, - "node_modules/dir-compare/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/dir-compare/node_modules/brace-expansion": { - "version": "1.1.18", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz", - "integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/dir-compare/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/dmg-builder": { - "version": "25.1.8", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-25.1.8.tgz", - "integrity": "sha512-NoXo6Liy2heSklTI5OIZbCgXC1RzrDQsZkeEwXhdOro3FT1VBOvbubvscdPnjVuQ4AMwwv61oaH96AbiYg9EnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "app-builder-lib": "25.1.8", - "builder-util": "25.1.7", - "builder-util-runtime": "9.2.10", - "fs-extra": "^10.1.0", - "iconv-lite": "^0.6.2", - "js-yaml": "^4.1.0" - }, - "optionalDependencies": { - "dmg-license": "^1.0.11" - } - }, - "node_modules/dmg-license": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.11.tgz", - "integrity": "sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==", - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "@types/plist": "^3.0.1", - "@types/verror": "^1.10.3", - "ajv": "^6.10.0", - "crc": "^3.8.0", - "iconv-corefoundation": "^1.1.7", - "plist": "^3.0.4", - "smart-buffer": "^4.0.2", - "verror": "^1.10.0" - }, - "bin": { - "dmg-license": "bin/dmg-license.js" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/dot-prop": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-10.2.0.tgz", @@ -2516,35 +877,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/dotenv": { - "version": "16.6.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", - "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/dotenv-expand": { - "version": "11.0.7", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz", - "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dotenv": "^16.4.5" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -2559,117 +891,12 @@ "node": ">= 0.4" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT" - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "license": "MIT" }, - "node_modules/ejs": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", - "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron": { - "version": "42.9.3", - "resolved": "https://registry.npmjs.org/electron/-/electron-42.9.3.tgz", - "integrity": "sha512-REQUgPrCWOP0FajNcKCwwjkssirN+MVbemyd6bT+x51OVq58y6IqjtpA4vmm/KEzKXj2MIOebx/gF497CkRAPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@electron-internal/extract-zip": "^1.0.1", - "@electron/get": "^5.0.0", - "@types/node": "^24.9.0" - }, - "bin": { - "electron": "cli.js", - "install-electron": "install.js" - }, - "engines": { - "node": ">= 22.12.0" - } - }, - "node_modules/electron-builder": { - "version": "25.1.8", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-25.1.8.tgz", - "integrity": "sha512-poRgAtUHHOnlzZnc9PK4nzG53xh74wj2Jy7jkTrqZ0MWPoHGh1M2+C//hGeYdA+4K8w4yiVCNYoLXF7ySj2Wig==", - "dev": true, - "license": "MIT", - "dependencies": { - "app-builder-lib": "25.1.8", - "builder-util": "25.1.7", - "builder-util-runtime": "9.2.10", - "chalk": "^4.1.2", - "dmg-builder": "25.1.8", - "fs-extra": "^10.1.0", - "is-ci": "^3.0.0", - "lazy-val": "^1.0.5", - "simple-update-notifier": "2.0.0", - "yargs": "^17.6.2" - }, - "bin": { - "electron-builder": "cli.js", - "install-app-deps": "install-app-deps.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/electron-builder-squirrel-windows": { - "version": "25.1.8", - "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-25.1.8.tgz", - "integrity": "sha512-2ntkJ+9+0GFP6nAISiMabKt6eqBB0kX1QqHNWFWAXgi0VULKGisM46luRFpIBiU3u/TDmhZMM8tzvo2Abn3ayg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "app-builder-lib": "25.1.8", - "archiver": "^5.3.1", - "builder-util": "25.1.7", - "fs-extra": "^10.1.0" - } - }, - "node_modules/electron-publish": { - "version": "25.1.7", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-25.1.7.tgz", - "integrity": "sha512-+jbTkR9m39eDBMP4gfbqglDd6UvBC7RLh5Y0MhFSsc6UkGHj9Vj9TWobxevHYMMqmoujL11ZLjfPpMX+Pt6YEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/fs-extra": "^9.0.11", - "builder-util": "25.1.7", - "builder-util-runtime": "9.2.10", - "chalk": "^4.1.2", - "fs-extra": "^10.1.0", - "lazy-val": "^1.0.5", - "mime": "^2.5.2" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, "node_modules/encodeurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", @@ -2679,27 +906,6 @@ "node": ">= 0.8" } }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", - "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", - "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, "node_modules/env-paths": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", @@ -2713,13 +919,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true, - "license": "MIT" - }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", @@ -2750,32 +949,6 @@ "node": ">= 0.4" } }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -2868,13 +1041,6 @@ "node": ">= 0.6" } }, - "node_modules/exponential-backoff": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", - "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", - "dev": true, - "license": "Apache-2.0" - }, "node_modules/express": { "version": "4.22.2", "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", @@ -2921,32 +1087,6 @@ "url": "https://opencollective.com/express" } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/extsprintf": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", - "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "license": "MIT", - "optional": true - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2954,13 +1094,6 @@ "dev": true, "license": "MIT" }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", @@ -2985,64 +1118,6 @@ ], "license": "BSD-3-Clause" }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/filelist": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.6.tgz", - "integrity": "sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", - "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", - "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/finalhandler": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", @@ -3061,21 +1136,6 @@ "node": ">= 0.8" } }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, "node_modules/for-each": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", @@ -3092,53 +1152,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/form-data": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz", - "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.4", - "mime-types": "^2.1.35" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -3157,62 +1170,6 @@ "node": ">= 0.6" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -3222,27 +1179,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "deprecated": "This package is no longer supported.", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/generator-function": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", @@ -3253,16 +1189,6 @@ "node": ">= 0.4" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -3300,75 +1226,6 @@ "node": ">= 0.4" } }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.18", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz", - "integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -3381,39 +1238,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=10.19.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -3465,13 +1289,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true, - "license": "ISC" - }, "node_modules/hasown": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", @@ -3484,26 +1301,6 @@ "node": ">= 0.4" } }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", - "dev": true, - "license": "BSD-2-Clause" - }, "node_modules/http-errors": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", @@ -3524,149 +1321,18 @@ "url": "https://opencollective.com/express" } }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" - }, - "engines": { - "node": ">=10.19.0" - } - }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.0.0" - } - }, - "node_modules/iconv-corefoundation": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", - "integrity": "sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==", - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "cli-truncate": "^2.1.0", - "node-addon-api": "^1.6.3" - }, - "engines": { - "node": "^8.11.2 || >=10" - } - }, "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true, - "license": "ISC" - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -3684,16 +1350,6 @@ "@inversifyjs/core": "1.3.4" } }, - "node_modules/ip-address": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.5.0.tgz", - "integrity": "sha512-R5SnVLJmgYYvf2F2ZgwSBnelz5G4q5AxIC277GDfUaNbrZKNANcBC7RHqYYePlszf4kBolVkJauG0ZjHHFh55g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -3740,29 +1396,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-generator-function": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", @@ -3783,23 +1416,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true, - "license": "MIT" - }, "node_modules/is-nan": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", @@ -3852,81 +1468,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/isbinaryfile": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.7.tgz", - "integrity": "sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 18.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jake": { - "version": "10.9.4", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", - "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "async": "^3.2.6", - "filelist": "^1.0.4", - "picocolors": "^1.1.1" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/javascript-obfuscator": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/javascript-obfuscator/-/javascript-obfuscator-4.2.2.tgz", @@ -3965,16 +1506,6 @@ "node": ">=18.0.0" } }, - "node_modules/javascript-obfuscator/node_modules/commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, "node_modules/js-string-escape": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", @@ -3985,40 +1516,10 @@ "node": ">= 0.8" } }, - "node_modules/js-yaml": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz", - "integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/puzrin" - }, - { - "type": "github", - "url": "https://github.com/sponsors/nodeca" - } - ], - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true, "license": "MIT" }, @@ -4029,99 +1530,6 @@ "dev": true, "license": "BSD-2-Clause" }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", - "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/lazy-val": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", - "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, - "node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/lazystream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/lazystream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -4143,186 +1551,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", - "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", - "dev": true, - "license": "ISC", - "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/make-fetch-happen/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/make-fetch-happen/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -4372,16 +1600,15 @@ } }, "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "license": "MIT", "bin": { "mime": "cli.js" }, "engines": { - "node": ">=4.0.0" + "node": ">=4" } }, "node_modules/mime-db": { @@ -4405,16 +1632,6 @@ "node": ">= 0.6" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/mimic-function": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", @@ -4428,212 +1645,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/minimatch": { - "version": "10.2.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", - "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.8" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { - "minipass": "^3.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-collect/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", - "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/minipass-fetch/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.7.tgz", - "integrity": "sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" + "node": "*" } }, "node_modules/mkdirp": { @@ -4653,9 +1675,9 @@ } }, "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, "node_modules/multimatch": { @@ -4678,37 +1700,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/multimatch/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/multimatch/node_modules/brace-expansion": { - "version": "1.1.18", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz", - "integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/multimatch/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -4718,225 +1709,6 @@ "node": ">= 0.6" } }, - "node_modules/node-abi": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-4.33.0.tgz", - "integrity": "sha512-vLBWCKb+7LWsX+TbfzWOkw0W81m377tyx3hOweBTjO43CXZnRGS1/JPWs20fr0PgZyDXk6ROYrylsEycK8raDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.6.3" - }, - "engines": { - "node": ">=22.12.0" - } - }, - "node_modules/node-addon-api": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", - "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/node-api-version": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-api-version/-/node-api-version-0.2.1.tgz", - "integrity": "sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.3.5" - } - }, - "node_modules/node-gyp": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.4.0.tgz", - "integrity": "sha512-OMcPNvqTCFUnNaBlmdgq+lfNqY7gTiSmNRDjY3uAXRyudeKZEZxu3CLtjMQrx4zZxCX2b/mpNqTtwuCJgXhHkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "graceful-fs": "^4.2.6", - "nopt": "^9.0.0", - "proc-log": "^6.0.0", - "semver": "^7.3.5", - "tar": "^7.5.4", - "tinyglobby": "^0.2.12", - "undici": "^6.25.0", - "which": "^6.0.0" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/node-gyp/node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/node-gyp/node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/node-gyp/node_modules/isexe": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", - "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=20" - } - }, - "node_modules/node-gyp/node_modules/minipass": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", - "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/node-gyp/node_modules/minizlib": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", - "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.1.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/node-gyp/node_modules/tar": { - "version": "7.5.22", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.22.tgz", - "integrity": "sha512-MFO/QzvtAOmJbkhOaCTvbGcFN9L9b+JunIsDwaKljSOdcLMea3NJ1k9Usz/rjdfSXTq4dfzfeS7W4p4YOAAHeA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.1.0", - "yallist": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/node-gyp/node_modules/undici": { - "version": "6.28.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.28.0.tgz", - "integrity": "sha512-LIY910g9TI13YS95lrMFrs8Rm/u/irgHeTWoKCoteeJ04CUJ92eEfj0rVn+7VKMPBpUPiUoBKfhNyLI23EE/KA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.17" - } - }, - "node_modules/node-gyp/node_modules/which": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", - "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^4.0.0" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/node-gyp/node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/nopt": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz", - "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==", - "dev": true, - "license": "ISC", - "dependencies": { - "abbrev": "^4.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "deprecated": "This package is no longer supported.", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/object-inspect": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", @@ -5009,32 +1781,6 @@ "node": ">= 0.8" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/optionator": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", @@ -5053,79 +1799,6 @@ "node": ">= 0.8.0" } }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -5135,106 +1808,12 @@ "node": ">= 0.8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, "node_modules/path-to-regexp": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", "license": "MIT" }, - "node_modules/pe-library": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pe-library/-/pe-library-0.4.1.tgz", - "integrity": "sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12", - "npm": ">=6" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/jet2jet" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", - "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/plist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.1.tgz", - "integrity": "sha512-ZIfcLJC+7E7FBFnDxm9MPmt7D+DidyQ26lewieO75AdhA2ayMtsJSES0iWzqJQbcVRSrTufQoy0DR94xHue0oA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@xmldom/xmldom": "^0.9.10", - "base64-js": "^1.5.1", - "xmlbuilder": "^15.1.1" - }, - "engines": { - "node": ">=10.4.0" - } - }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", @@ -5254,16 +1833,6 @@ "node": ">= 0.8.0" } }, - "node_modules/proc-log": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", - "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -5274,45 +1843,6 @@ "node": ">= 0.6.0" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -5326,27 +1856,6 @@ "node": ">= 0.10" } }, - "node_modules/pump": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", - "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/qs": { "version": "6.15.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", @@ -5363,19 +1872,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -5400,90 +1896,6 @@ "node": ">= 0.8" } }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-binary-file-arch": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/read-binary-file-arch/-/read-binary-file-arch-1.0.6.tgz", - "integrity": "sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, - "bin": { - "read-binary-file-arch": "cli.js" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdir-glob": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "minimatch": "^5.1.0" - } - }, - "node_modules/readdir-glob/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", - "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", - "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/reflect-metadata": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", @@ -5491,16 +1903,6 @@ "dev": true, "license": "Apache-2.0" }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -5511,85 +1913,6 @@ "node": ">=0.10.0" } }, - "node_modules/resedit": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/resedit/-/resedit-1.7.2.tgz", - "integrity": "sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pe-library": "^0.4.1" - }, - "engines": { - "node": ">=12", - "npm": ">=6" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/jet2jet" - } - }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "dev": true, - "license": "MIT" - }, - "node_modules/responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "dev": true, - "license": "MIT", - "dependencies": { - "lowercase-keys": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -5634,26 +1957,6 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "license": "MIT" }, - "node_modules/sanitize-filename": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.4.tgz", - "integrity": "sha512-9ZyI08PsvdQl2r/bBIGubpVdR3RR9sY6RDiWFPreA21C/EFlQhmgo20UZlNjZMMZNubusLhAQozkA0Od5J21Eg==", - "dev": true, - "license": "WTFPL OR ISC", - "dependencies": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "node_modules/sax": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.1.tgz", - "integrity": "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=11.0.0" - } - }, "node_modules/semver": { "version": "7.8.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", @@ -5691,33 +1994,12 @@ "node": ">= 0.8.0" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/serve-static": { "version": "1.16.3", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", @@ -5733,13 +2015,6 @@ "node": ">= 0.8.0" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true, - "license": "ISC" - }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -5764,29 +2039,6 @@ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "license": "ISC" }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/side-channel": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", @@ -5859,96 +2111,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/simple-update-notifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", - "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.9.tgz", - "integrity": "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ip-address": "^10.1.1", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/socks-proxy-agent/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -5970,42 +2132,6 @@ "source-map": "^0.6.0" } }, - "node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/ssri/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stat-mode": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", - "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, "node_modules/statuses": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", @@ -6015,16 +2141,6 @@ "node": ">= 0.8" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, "node_modules/string-template": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/string-template/-/string-template-1.0.0.tgz", @@ -6032,37 +2148,6 @@ "dev": true, "license": "MIT" }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/stringz": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/stringz/-/stringz-2.1.0.tgz", @@ -6073,33 +2158,6 @@ "char-regex": "^1.0.2" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/stubborn-fs": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/stubborn-fs/-/stubborn-fs-2.0.0.tgz", @@ -6117,19 +2175,6 @@ "dev": true, "license": "MIT" }, - "node_modules/sumchecker": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", - "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "debug": "^4.1.0" - }, - "engines": { - "node": ">= 8.0" - } - }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -6156,104 +2201,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "deprecated": "Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/temp-file": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", - "integrity": "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==", - "dev": true, - "license": "MIT", - "dependencies": { - "async-exit-hook": "^2.0.1", - "fs-extra": "^10.0.0" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", - "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tmp": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", - "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.14" - } - }, - "node_modules/tmp-promise": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", - "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "tmp": "^0.2.0" - } - }, "node_modules/toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", @@ -6263,16 +2210,6 @@ "node": ">=0.6" } }, - "node_modules/truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", - "dev": true, - "license": "WTFPL", - "dependencies": { - "utf8-byte-length": "^1.0.1" - } - }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -6322,20 +2259,6 @@ "node": ">= 0.6" } }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, "node_modules/uint8array-extras": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz", @@ -6349,60 +2272,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/undici": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.29.0.tgz", - "integrity": "sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=20.18.1" - } - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/unique-filename": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", - "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", - "dev": true, - "license": "ISC", - "dependencies": { - "unique-slug": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/unique-slug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", - "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -6412,23 +2281,6 @@ "node": ">= 0.8" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/utf8-byte-length": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", - "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==", - "dev": true, - "license": "(WTFPL OR MIT)" - }, "node_modules/util": { "version": "0.12.5", "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", @@ -6443,13 +2295,6 @@ "which-typed-array": "^1.1.2" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT" - }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -6478,32 +2323,6 @@ "node": ">= 0.8" } }, - "node_modules/verror": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", - "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "license": "MIT", - "dependencies": { - "defaults": "^1.0.3" - } - }, "node_modules/when-exit": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/when-exit/-/when-exit-2.1.5.tgz", @@ -6511,22 +2330,6 @@ "dev": true, "license": "MIT" }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/which-typed-array": { "version": "1.1.22", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.22.tgz", @@ -6549,16 +2352,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", @@ -6568,158 +2361,6 @@ "engines": { "node": ">=0.10.0" } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/xmlbuilder": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", - "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.0" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, - "node_modules/yargs": { - "version": "17.7.3", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz", - "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zip-stream": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz", - "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "archiver-utils": "^3.0.4", - "compress-commons": "^4.1.2", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/zip-stream/node_modules/archiver-utils": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz", - "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "glob": "^7.2.3", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } } } } diff --git a/package.json b/package.json index 35daa86..93a7648 100644 --- a/package.json +++ b/package.json @@ -4,21 +4,20 @@ "description": "Vyla Home Desktop App Launcher", "main": "main.js", "scripts": { - "start": "electron .", - "pack": "electron-builder --dir", - "dist": "electron-builder", - "build": "node build-pipeline.js" + "dev": "tauri dev", + "build:payload": "node build-pipeline.js", + "build": "tauri build" }, "dependencies": { + "@tauri-apps/api": "^2.0.0", + "@tauri-apps/plugin-shell": "^2.0.0", + "@tauri-apps/plugin-process": "^2.0.0", "@vyla-entertainment/sdk": "^1.2.0", "adm-zip": "^0.6.0", - "audit": "^0.0.6", "express": "^4.19.2" }, "devDependencies": { - "@electron/rebuild": "^4.2.0", - "electron": "^42.7.0", - "electron-builder": "^25.1.8", + "@tauri-apps/cli": "^2.0.0", "javascript-obfuscator": "^4.1.0" }, "build": { diff --git a/service-manager.js b/service-manager.js index 7f7e9f1..208918e 100644 --- a/service-manager.js +++ b/service-manager.js @@ -39,19 +39,26 @@ class ServiceManager { throw new Error(`Service script not found: ${scriptPath}`); } + const tokenSecret = process.env.TOKEN_SECRET || + process.env.STREAM_API_TOKEN_SECRET || + this.credentialManager.getCredential('stream-api', 'TOKEN_SECRET') || + require('crypto').randomBytes(32).toString('hex'); + const env = { ...process.env, + TOKEN_SECRET: tokenSecret, + STREAM_API_TOKEN_SECRET: tokenSecret, ...(this.envConfig[name] || {}), - ...(this.credentialManager.getServiceCredentials(name) || {}), - ELECTRON_RUN_AS_NODE: '1' + ...(this.credentialManager.getServiceCredentials(name) || {}) }; this.logToFile(name, `--- Starting ${name} in ${serviceDir} ---`); - const child = spawn(process.execPath, [scriptPath], { + const child = spawn('node', [scriptPath], { cwd: serviceDir, env, - stdio: ['ignore', 'pipe', 'pipe'] + stdio: ['ignore', 'pipe', 'pipe'], + shell: process.platform === 'win32' }); this.processes[name] = { @@ -70,11 +77,13 @@ class ServiceManager { child.stdout.on('data', (data) => { const text = data.toString().trim(); + console.log(`[${name}] STDOUT: ${text}`); this.logToFile(name, `STDOUT: ${text}`); }); child.stderr.on('data', (data) => { const text = data.toString().trim(); + console.error(`[${name}] STDERR: ${text}`); this.logToFile(name, `STDERR: ${text}`); }); diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock new file mode 100644 index 0000000..2275d9b --- /dev/null +++ b/src-tauri/Cargo.lock @@ -0,0 +1,5168 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e76a019e91224d279006ff972f1e984179a6e9feb050adba6ce8274aef23195" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "android_system_properties" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae221649c9976a6f6c56ae1facf410f3ddb33cc661c4b7b61020a912d4237fbc" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" + +[[package]] +name = "async-broadcast" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" +dependencies = [ + "event-listener", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-channel" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" +dependencies = [ + "concurrent-queue", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "pin-project-lite", + "slab", +] + +[[package]] +name = "async-io" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" +dependencies = [ + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite", + "parking", + "polling", + "rustix", + "slab", + "windows-sys 0.61.2", +] + +[[package]] +name = "async-lock" +version = "3.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" +dependencies = [ + "event-listener", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-process" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75" +dependencies = [ + "async-channel", + "async-io", + "async-lock", + "async-signal", + "async-task", + "blocking", + "cfg-if", + "event-listener", + "futures-lite", + "rustix", +] + +[[package]] +name = "async-recursion" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "async-signal" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52b5aaafa020cf5053a01f2a60e8ff5dccf550f0f77ec54a4e47285ac2bab485" +dependencies = [ + "async-io", + "async-lock", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix", + "signal-hook-registry", + "slab", + "windows-sys 0.61.2", +] + +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" + +[[package]] +name = "async-trait" +version = "0.1.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.3", +] + +[[package]] +name = "atk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "241b621213072e993be4f6f3a9e4b45f65b7e6faad43001be957184b7bb1824b" +dependencies = [ + "atk-sys", + "glib", + "libc", +] + +[[package]] +name = "atk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e48b684b0ca77d2bbadeef17424c2ea3c897d44d566a1617e7e8f30614d086" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da" +dependencies = [ + "serde_core", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + +[[package]] +name = "blocking" +version = "1.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" +dependencies = [ + "async-channel", + "async-task", + "futures-io", + "futures-lite", + "piper", +] + +[[package]] +name = "brotli" +version = "8.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc91aac060a7a1e25823bdccbfb6af1875b88f17c6daac97894eed8207166b3" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "5.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a32acac15fe1967bc3986b2a6347dffc965602354ea6f450ad07e8bfd253583" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bs58" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "bumpalo" +version = "3.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" + +[[package]] +name = "bytemuck" +version = "1.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" +dependencies = [ + "serde", +] + +[[package]] +name = "cairo-rs" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" +dependencies = [ + "bitflags 2.13.1", + "cairo-sys-rs", + "glib", + "libc", + "once_cell", + "thiserror 1.0.69", +] + +[[package]] +name = "cairo-sys-rs" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "camino" +version = "1.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb1307f12aa967b5a58416e87b3653360e0fd614a016b6e970db08fecbb1b80d" +dependencies = [ + "serde_core", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror 2.0.20", +] + +[[package]] +name = "cargo_toml" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "374b7c592d9c00c1f4972ea58390ac6b18cbb6ab79011f3bdc90a0b82ca06b77" +dependencies = [ + "serde", + "toml 0.9.12+spec-1.1.0", +] + +[[package]] +name = "cc" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "509591b7bcd67f4ef775afad7662703b4935daaa6ec0e5605cfb1090b32a2b6d" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + +[[package]] +name = "cfb" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" +dependencies = [ + "byteorder", + "fnv", + "uuid", +] + +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "chrono" +version = "0.4.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" +dependencies = [ + "iana-time-zone", + "num-traits", + "serde", + "windows-link 0.2.1", +] + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "cookie" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a373e3602691c3cdea496d2f0ee5935151e6168fe87739483c463db1b2f2f87" +dependencies = [ + "time", + "version_check", +] + +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core-graphics" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "064badf302c3194842cf2c5d61f56cc88e54a759313879cdf03abdd27d0c3b97" +dependencies = [ + "bitflags 2.13.1", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" +dependencies = [ + "bitflags 2.13.1", + "core-foundation", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d85363c37faeca707aef026efa9f3b34d077bce547e48f770770625c6013679e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17" + +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "cssparser" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dae61cf9c0abb83bd659dab65b7e4e38d8236824c85f0f804f173567bda257d2" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa", + "phf", + "smallvec", +] + +[[package]] +name = "cssparser-macros" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" +dependencies = [ + "quote", + "syn 2.0.119", +] + +[[package]] +name = "ctor" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "352d39c2f7bef1d6ad73db6f5160efcaed66d94ef8c6c573a8410c00bf909a98" +dependencies = [ + "ctor-proc-macro", + "dtor", +] + +[[package]] +name = "ctor-proc-macro" +version = "0.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1" + +[[package]] +name = "darling" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" +dependencies = [ + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.119", +] + +[[package]] +name = "darling_macro" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "dbus" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ab69f03cc8c4340c9c8e315114e1658e6775a9b16a04357973aa21cec22b32e" +dependencies = [ + "libc", + "libdbus-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "defmt" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2953bfe4f93bbd20cc71198842756f77d161884c99ebbabc41d80231ded88d1" +dependencies = [ + "bitflags 1.3.2", + "defmt-macros", +] + +[[package]] +name = "defmt-macros" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bad9c72e7ca2137e0dc3813245a0d282fd6daad32fd800af018306a9169b5fe8" +dependencies = [ + "defmt-parser", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "defmt-parser" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e" +dependencies = [ + "thiserror 2.0.20", +] + +[[package]] +name = "deranged" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" +dependencies = [ + "serde_core", +] + +[[package]] +name = "derive_more" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.119", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "dirs" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.61.2", +] + +[[package]] +name = "dispatch2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +dependencies = [ + "bitflags 2.13.1", + "block2", + "libc", + "objc2", +] + +[[package]] +name = "displaydoc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.3", +] + +[[package]] +name = "dlopen2" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e2c5bd4158e66d1e215c49b837e11d62f3267b30c92f1d171c4d3105e3dc4d4" +dependencies = [ + "dlopen2_derive", + "libc", + "once_cell", + "winapi", +] + +[[package]] +name = "dlopen2_derive" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fbbb781877580993a8707ec48672673ec7b81eeba04cfd2310bd28c08e47c8f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "dom_query" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521e380c0c8afb8d9a1e83a1822ee03556fc3e3e7dbc1fd30be14e37f9cb3f89" +dependencies = [ + "bit-set", + "cssparser", + "foldhash", + "html5ever", + "precomputed-hash", + "selectors", + "tendril", +] + +[[package]] +name = "dpi" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" +dependencies = [ + "serde", +] + +[[package]] +name = "dtoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590" + +[[package]] +name = "dtoa-short" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87" +dependencies = [ + "dtoa", +] + +[[package]] +name = "dtor" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1057d6c64987086ff8ed0fd3fbf377a6b7d205cc7715868cd401705f715cbe4" +dependencies = [ + "dtor-proc-macro", +] + +[[package]] +name = "dtor-proc-macro" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" + +[[package]] +name = "embed-resource" +version = "3.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbfdaacccebec3b28e4866b8973543c7647797db5ada1bdab552e48fe665fbbd" +dependencies = [ + "cc", + "memchr", + "rustc_version", + "toml 1.1.4+spec-1.1.0", + "vswhom", + "winreg", +] + +[[package]] +name = "embed_plist" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" + +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "endi" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099" + +[[package]] +name = "enumflags2" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "erased-serde" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2add8a07dd6a8d93ff627029c51de145e12686fbc36ecb298ac22e74cf02dec" +dependencies = [ + "serde", + "serde_core", + "typeid", +] + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "event-listener" +version = "5.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a23add41df1562121a9393cb065eab5146a1242410f23a644851e90cfd669d2" +dependencies = [ + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" +dependencies = [ + "event-listener", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "field-offset" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" +dependencies = [ + "memoffset", + "rustc_version", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890" + +[[package]] +name = "flate2" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea5190182e6915eb873ddbc16e23b711b6eb1f9c00a0d0a3a91b5f6228475225" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.3", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e" + +[[package]] +name = "futures-executor" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed" + +[[package]] +name = "futures-lite" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + +[[package]] +name = "futures-macro" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.3", +] + +[[package]] +name = "futures-sink" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d" + +[[package]] +name = "futures-task" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd" + +[[package]] +name = "futures-util" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "slab", +] + +[[package]] +name = "gdk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9f245958c627ac99d8e529166f9823fb3b838d1d41fd2b297af3075093c2691" +dependencies = [ + "cairo-rs", + "gdk-pixbuf", + "gdk-sys", + "gio", + "glib", + "libc", + "pango", +] + +[[package]] +name = "gdk-pixbuf" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" +dependencies = [ + "gdk-pixbuf-sys", + "gio", + "glib", + "libc", + "once_cell", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gdk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c2d13f38594ac1e66619e188c6d5a1adb98d11b2fcf7894fc416ad76aa2f3f7" +dependencies = [ + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gdkwayland-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "140071d506d223f7572b9f09b5e155afbd77428cd5cc7af8f2694c41d98dfe69" +dependencies = [ + "gdk-sys", + "glib-sys", + "gobject-sys", + "libc", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gdkx11" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3caa00e14351bebbc8183b3c36690327eb77c49abc2268dd4bd36b856db3fbfe" +dependencies = [ + "gdk", + "gdkx11-sys", + "gio", + "glib", + "libc", + "x11", +] + +[[package]] +name = "gdkx11-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e7445fe01ac26f11601db260dd8608fe172514eb63b3b5e261ea6b0f4428d" +dependencies = [ + "gdk-sys", + "glib-sys", + "libc", + "system-deps", + "x11", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi 5.3.0", + "wasip2", +] + +[[package]] +name = "getrandom" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", +] + +[[package]] +name = "gio" +version = "0.18.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "gio-sys", + "glib", + "libc", + "once_cell", + "pin-project-lite", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "gio-sys" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", + "winapi", +] + +[[package]] +name = "glib" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" +dependencies = [ + "bitflags 2.13.1", + "futures-channel", + "futures-core", + "futures-executor", + "futures-task", + "futures-util", + "gio-sys", + "glib-macros", + "glib-sys", + "gobject-sys", + "libc", + "memchr", + "once_cell", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "glib-macros" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" +dependencies = [ + "heck 0.4.1", + "proc-macro-crate 2.0.2", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "glib-sys" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" +dependencies = [ + "libc", + "system-deps", +] + +[[package]] +name = "glob" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b" + +[[package]] +name = "gobject-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gtk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd56fb197bfc42bd5d2751f4f017d44ff59fbb58140c6b49f9b3b2bdab08506a" +dependencies = [ + "atk", + "cairo-rs", + "field-offset", + "futures-channel", + "gdk", + "gdk-pixbuf", + "gio", + "glib", + "gtk-sys", + "gtk3-macros", + "libc", + "pango", + "pkg-config", +] + +[[package]] +name = "gtk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f29a1c21c59553eb7dd40e918be54dccd60c52b049b75119d5d96ce6b624414" +dependencies = [ + "atk-sys", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "system-deps", +] + +[[package]] +name = "gtk3-macros" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ff3c5b21f14f0736fed6dcfc0bfb4225ebf5725f3c0209edeec181e4d73e9d" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "html5ever" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1054432bae2f14e0061e33d23402fbaa67a921d319d56adc6bcf887ddad1cbc2" +dependencies = [ + "log", + "markup5ever", +] + +[[package]] +name = "http" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23169fe34a5fbcdd3f3862e78fb9b6fccd5f02a6dc6f732547005d45631ce71c" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "hyper" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d22053281f852e11534f5198498373cbb59295120a20771d90f7ed1897490a72" +dependencies = [ + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "http", + "http-body", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-util" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core 0.62.2", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ico" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e795dff5605e0f04bff85ca41b51a96b83e80b281e96231bcaaf1ac35103371" +dependencies = [ + "byteorder", + "png 0.17.16", +] + +[[package]] +name = "icu_collections" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa68d21081c4a05d5a901a1c62add574c77048b6a1c67be3b50ce0b60d4ca513" +dependencies = [ + "displaydoc", + "potential_utf", + "utf8_iter", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f9cf5f235641ed274641dd81c3f28d870e276763d0797aeeab72317b1c646f" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1563da1ed3e0b3bf3d74c9b85917ac9c56464d2f57242270c09c9e752f8021a0" + +[[package]] +name = "icu_properties" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e7ca276ad3145661a65914e6daf131ca5120cd3dcee8f8f3214b8875184a148" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e590f038c1464a96894fd6d10127e90a8be4509f56ff7ecef851b15cee0b7caa" + +[[package]] +name = "icu_provider" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" +dependencies = [ + "equivalent", + "hashbrown 0.17.1", + "serde", + "serde_core", +] + +[[package]] +name = "infer" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7" +dependencies = [ + "cfb", +] + +[[package]] +name = "ipnet" +version = "2.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a756c3fac73139e83f14c2d742155dd2b78d3ee56597b419a0579b7bdd6dd78" + +[[package]] +name = "is-docker" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" +dependencies = [ + "once_cell", +] + +[[package]] +name = "is-wsl" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" +dependencies = [ + "is-docker", + "once_cell", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "javascriptcore-rs" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca5671e9ffce8ffba57afc24070e906da7fc4b1ba66f2cabebf61bf2ea257fcc" +dependencies = [ + "bitflags 1.3.2", + "glib", + "javascriptcore-rs-sys", +] + +[[package]] +name = "javascriptcore-rs-sys" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1be78d14ffa4b75b66df31840478fef72b51f8c2465d4ca7c194da9f7a5124" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "jiff" +version = "0.2.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668b7183bd07af9a4885f5c35b0cc5c83c4607a913c16b7e17291832910d2dcc" +dependencies = [ + "defmt", + "jiff-core", + "jiff-static", + "jiff-tzdb-platform", + "log", + "portable-atomic", + "portable-atomic-util", + "serde_core", + "windows-link 0.2.1", +] + +[[package]] +name = "jiff-core" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7feca88439efe53da3754500c1851dedf3cb36c524dd5cf8225cc0794de95d09" +dependencies = [ + "defmt", +] + +[[package]] +name = "jiff-static" +version = "0.2.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a69dcb3a21cfb32ce1cd056169337ca284af0766dd766e7878819b251a49204" +dependencies = [ + "jiff-core", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "jiff-tzdb" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "142bd39932ad231f10513df9ab62661fead8719872150b7ad02a2df79f4e141e" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" +dependencies = [ + "jiff-tzdb", +] + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys 0.3.1", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258" +dependencies = [ + "jni-sys 0.4.1", +] + +[[package]] +name = "jni-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" +dependencies = [ + "jni-sys-macros", +] + +[[package]] +name = "jni-sys-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" +dependencies = [ + "quote", + "syn 2.0.119", +] + +[[package]] +name = "js-sys" +version = "0.3.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e0c1080212aad755ea003d18543e8768dd432c48819efd73a7bf1e39b7a5a3a" +dependencies = [ + "cfg-if", + "futures-util", + "wasm-bindgen", +] + +[[package]] +name = "json-patch" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08" +dependencies = [ + "jsonptr", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "jsonptr" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "keyboard-types" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" +dependencies = [ + "bitflags 2.13.1", + "serde", + "unicode-segmentation", +] + +[[package]] +name = "libappindicator" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03589b9607c868cc7ae54c0b2a22c8dc03dd41692d48f2d7df73615c6a95dc0a" +dependencies = [ + "glib", + "gtk", + "gtk-sys", + "libappindicator-sys", + "log", +] + +[[package]] +name = "libappindicator-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" +dependencies = [ + "gtk-sys", + "libloading", + "once_cell", +] + +[[package]] +name = "libc" +version = "0.2.189" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" + +[[package]] +name = "libdbus-sys" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "328c4789d42200f1eeec05bd86c9c13c7f091d2ba9a6ea35acdf51f31bc0f043" +dependencies = [ + "pkg-config", +] + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "libredox" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d0a00925a9f930d679b6789b721e3a7f9ed110f41b86d2497caa780c3a070a" +dependencies = [ + "libc", +] + +[[package]] +name = "linux-raw-sys" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" + +[[package]] +name = "litemap" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" + +[[package]] +name = "markup5ever" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8983d30f2915feeaaab2d6babdd6bc7e9ed1a00b66b5e6d74df19aa9c0e91862" +dependencies = [ + "log", + "tendril", + "web_atoms", +] + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.61.2", +] + +[[package]] +name = "muda" +version = "0.19.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd04e60bc0b07438a6771710ee1698f98f6ebbc7f89b61264af1563b8aeb878" +dependencies = [ + "crossbeam-channel", + "dpi", + "gtk", + "keyboard-types", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "once_cell", + "png 0.18.1", + "serde", + "thiserror 2.0.20", + "windows-sys 0.61.2", +] + +[[package]] +name = "ndk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" +dependencies = [ + "bitflags 2.13.1", + "jni-sys 0.3.1", + "log", + "ndk-sys", + "num_enum", + "raw-window-handle", + "thiserror 1.0.69", +] + +[[package]] +name = "ndk-sys" +version = "0.6.0+11769913" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" +dependencies = [ + "jni-sys 0.3.1", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "num-conv" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_enum" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26" +dependencies = [ + "num_enum_derive", + "rustversion", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" +dependencies = [ + "proc-macro-crate 3.5.0", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "objc2" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +dependencies = [ + "objc2-encode", + "objc2-exception-helper", +] + +[[package]] +name = "objc2-app-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" +dependencies = [ + "bitflags 2.13.1", + "block2", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" +dependencies = [ + "bitflags 2.13.1", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags 2.13.1", + "dispatch2", + "objc2", +] + +[[package]] +name = "objc2-core-graphics" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" +dependencies = [ + "bitflags 2.13.1", + "dispatch2", + "objc2", + "objc2-core-foundation", + "objc2-io-surface", +] + +[[package]] +name = "objc2-core-image" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-location" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca347214e24bc973fc025fd0d36ebb179ff30536ed1f80252706db19ee452009" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-text" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" +dependencies = [ + "bitflags 2.13.1", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-exception-helper" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7a1c5fbb72d7735b076bb47b578523aedc40f3c439bea6dfd595c089d79d98a" +dependencies = [ + "cc", +] + +[[package]] +name = "objc2-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" +dependencies = [ + "bitflags 2.13.1", + "block2", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-io-surface" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" +dependencies = [ + "bitflags 2.13.1", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" +dependencies = [ + "bitflags 2.13.1", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" +dependencies = [ + "bitflags 2.13.1", + "block2", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-core-image", + "objc2-core-location", + "objc2-core-text", + "objc2-foundation", + "objc2-quartz-core", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9df9128cbbfef73cda168416ccf7f837b62737d748333bfe9ab71c245d76613e" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-web-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2e5aaab980c433cf470df9d7af96a7b46a9d892d521a2cbbb2f8a4c16751e7f" +dependencies = [ + "bitflags 2.13.1", + "block2", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "once_cell" +version = "1.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" + +[[package]] +name = "open" +version = "5.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9cfef937e9c486488c7e3d949ae31c0f1d06bdacd75b99c086cb35356e30408" +dependencies = [ + "dunce", + "is-wsl", + "libc", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "ordered-stream" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "os_pipe" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "pango" +version = "0.18.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" +dependencies = [ + "gio", + "glib", + "libc", + "once_cell", + "pango-sys", +] + +[[package]] +name = "pango-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link 0.2.1", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "phf" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" +dependencies = [ + "phf_macros", + "phf_shared", + "serde", +] + +[[package]] +name = "phf_codegen" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_macros" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "phf_shared" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" + +[[package]] +name = "piper" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1" +dependencies = [ + "atomic-waker", + "fastrand", + "futures-io", +] + +[[package]] +name = "pkg-config" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548" + +[[package]] +name = "plist" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da1d65da6dd5d1e44199ac0f58712d241c0f439f80adea8924d832384087f85" +dependencies = [ + "base64 0.22.1", + "indexmap 2.14.0", + "quick-xml", + "serde", + "time", +] + +[[package]] +name = "png" +version = "0.17.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "png" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" +dependencies = [ + "bitflags 2.13.1", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "polling" +version = "3.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" +dependencies = [ + "cfg-if", + "concurrent-queue", + "hermit-abi", + "pin-project-lite", + "rustix", + "windows-sys 0.61.2", +] + +[[package]] +name = "portable-atomic" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85" + +[[package]] +name = "portable-atomic-util" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "potential_utf" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661" +dependencies = [ + "zerovec", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +dependencies = [ + "toml_datetime 0.6.3", + "toml_edit 0.20.2", +] + +[[package]] +name = "proc-macro-crate" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +dependencies = [ + "toml_edit 0.25.13+spec-1.1.0", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e660451e55124f798a69a5af3f49ccfbefbd41910eefd25caf2393e1f3473ec1" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[package]] +name = "raw-window-handle" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags 2.13.1", +] + +[[package]] +name = "redox_users" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" +dependencies = [ + "getrandom 0.2.17", + "libredox", + "thiserror 2.0.20", +] + +[[package]] +name = "ref-cast" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e440fb4e4b4147295338efb76001ab9e4efc0e5839df2c47fc5ac2381d365c3" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92ecd8964f8453721699a1ed72037b0db49ce2f5a5138486ee89bed6f67cdf3a" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.3", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "reqwest" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "sync_wrapper", + "tokio", + "tokio-util", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", +] + +[[package]] +name = "rustc-hash" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d" + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" +dependencies = [ + "bitflags 2.13.1", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustversion" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schemars" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +dependencies = [ + "dyn-clone", + "indexmap 1.9.3", + "schemars_derive", + "serde", + "serde_json", + "url", + "uuid", +] + +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "687274d293b6cdc6e73e0fee520bf2049650090d7164f87672d212a3c530cf4a" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.119", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "selectors" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5d9c0c92a92d33f08817311cf3f2c29a3538a8240e94a6a3c622ce652d7e00c" +dependencies = [ + "bitflags 2.13.1", + "cssparser", + "derive_more", + "log", + "new_debug_unreachable", + "phf", + "phf_codegen", + "precomputed-hash", + "rustc-hash", + "servo_arc", + "smallvec", +] + +[[package]] +name = "semver" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" +dependencies = [ + "serde", + "serde_core", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde-untagged" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9faf48a4a2d2693be24c6289dbe26552776eb7737074e6722891fadbe6c5058" +dependencies = [ + "erased-serde", + "serde", + "serde_core", + "typeid", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.3", +] + +[[package]] +name = "serde_derive_internals" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "serde_repr" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.3", +] + +[[package]] +name = "serde_spanned" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_spanned" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" +dependencies = [ + "serde_core", +] + +[[package]] +name = "serde_with" +version = "3.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee78f1fbe43ac4a0e47aadb3dbd357b69eb0d3793e948624cd03dd2750ab1c0a" +dependencies = [ + "base64 0.22.1", + "bs58", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.14.0", + "jiff", + "schemars 0.9.0", + "schemars 1.2.2", + "serde_core", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8705578779c2b6bd90d84d66eb2e206b708b1a4d7b9f17641b293545bf1c7e46" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "serialize-to-javascript" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04f3666a07a197cdb77cdf306c32be9b7f598d7060d50cfd4d5aa04bfd92f6c5" +dependencies = [ + "serde", + "serde_json", + "serialize-to-javascript-impl", +] + +[[package]] +name = "serialize-to-javascript-impl" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "servo_arc" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "170fb83ab34de17dc69aa7c67482b22218ddb85da56546f9bd6b929e32a05930" +dependencies = [ + "stable_deref_trait", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "shared_child" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e362d9935bc50f019969e2f9ecd66786612daae13e8f277be7bfb66e8bed3f7" +dependencies = [ + "libc", + "sigchld", + "windows-sys 0.60.2", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "sigchld" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47106eded3c154e70176fc83df9737335c94ce22f821c32d17ed1db1f83badb1" +dependencies = [ + "libc", + "os_pipe", + "signal-hook", +] + +[[package]] +name = "signal-hook" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +dependencies = [ + "libc", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +dependencies = [ + "errno", + "libc", +] + +[[package]] +name = "simd-adler32" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" + +[[package]] +name = "siphasher" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" + +[[package]] +name = "slab" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + +[[package]] +name = "smallvec" +version = "1.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" + +[[package]] +name = "socket2" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "softbuffer" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aac18da81ebbf05109ab275b157c22a653bb3c12cf884450179942f81bcbf6c3" +dependencies = [ + "bytemuck", + "js-sys", + "ndk", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation", + "objc2-quartz-core", + "raw-window-handle", + "redox_syscall", + "tracing", + "wasm-bindgen", + "web-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "soup3" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f" +dependencies = [ + "futures-channel", + "gio", + "glib", + "libc", + "soup3-sys", +] + +[[package]] +name = "soup3-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "string_cache" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901" +dependencies = [ + "new_debug_unreachable", + "parking_lot", + "phf_shared", + "precomputed-hash", +] + +[[package]] +name = "string_cache_codegen" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "585635e46db231059f76c5849798146164652513eb9e8ab2685939dd90f29b69" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", +] + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "swift-rs" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e45c444e496845d3f2a351146bff59aae4975b2280238df1dfaa0c7d1846f38e" +dependencies = [ + "base64 0.21.7", + "serde", + "serde_json", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "system-deps" +version = "6.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" +dependencies = [ + "cfg-expr", + "heck 0.5.0", + "pkg-config", + "toml 0.8.2", + "version-compare", +] + +[[package]] +name = "tao" +version = "0.35.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1c93047acf68669466a34690ac58cca7010bd1b201e1ec86f1fd0a75d3dd4a9" +dependencies = [ + "bitflags 2.13.1", + "block2", + "core-foundation", + "core-graphics", + "crossbeam-channel", + "dbus", + "dispatch2", + "dlopen2", + "dpi", + "gdkwayland-sys", + "gdkx11-sys", + "gtk", + "jni", + "libc", + "log", + "ndk", + "ndk-sys", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "once_cell", + "parking_lot", + "percent-encoding", + "raw-window-handle", + "tao-macros", + "unicode-segmentation", + "url", + "windows", + "windows-core 0.61.2", + "windows-version", + "x11-dl", +] + +[[package]] +name = "tao-macros" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f7eeb6d99155545da6150a1795945f16ac9c178deb2a5f2e74d776107bd5849" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "target-lexicon" +version = "0.12.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" + +[[package]] +name = "tauri" +version = "2.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "667b20e2726d572dea2de7370da16e188eb06008faf9a92fab7cdc46791190b5" +dependencies = [ + "anyhow", + "bytes", + "cookie", + "dirs", + "dunce", + "embed_plist", + "getrandom 0.3.4", + "glob", + "gtk", + "heck 0.5.0", + "http", + "jni", + "libc", + "log", + "mime", + "muda", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", + "percent-encoding", + "plist", + "raw-window-handle", + "reqwest", + "serde", + "serde_json", + "serde_repr", + "serialize-to-javascript", + "swift-rs", + "tauri-build", + "tauri-macros", + "tauri-runtime", + "tauri-runtime-wry", + "tauri-utils", + "thiserror 2.0.20", + "tokio", + "tray-icon", + "url", + "webkit2gtk", + "webview2-com", + "window-vibrancy", + "windows", +] + +[[package]] +name = "tauri-build" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc9ce40b16101cb6ea63d3e221567affd1c3a9205f95d7bc574941a10636b632" +dependencies = [ + "anyhow", + "cargo_toml", + "dirs", + "glob", + "heck 0.5.0", + "json-patch", + "schemars 0.8.22", + "semver", + "serde", + "serde_json", + "tauri-utils", + "tauri-winres", + "walkdir", +] + +[[package]] +name = "tauri-codegen" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08279169ff42f8fc45a1dbc9dcae888893ba95288142e5880c59b93a26d2cfc5" +dependencies = [ + "base64 0.22.1", + "brotli", + "ico", + "json-patch", + "plist", + "png 0.17.16", + "proc-macro2", + "quote", + "semver", + "serde", + "serde_json", + "sha2", + "syn 2.0.119", + "tauri-utils", + "thiserror 2.0.20", + "time", + "url", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-macros" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8b394794f399a421811d06966343e7933fcae92d59f5180b9388d1174497a45" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.119", + "tauri-codegen", + "tauri-utils", +] + +[[package]] +name = "tauri-plugin" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74be5dd4bed9afbd145e5716b5fa2ec28cbc29c34ffa61c258c9273d896c8020" +dependencies = [ + "anyhow", + "glob", + "plist", + "schemars 0.8.22", + "serde", + "serde_json", + "tauri-utils", + "walkdir", +] + +[[package]] +name = "tauri-plugin-opener" +version = "2.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17e1bea14edce6b793a04e2417e3fd924b9bc4faae83cdee7d714156cceeed29" +dependencies = [ + "dunce", + "glob", + "objc2-app-kit", + "objc2-foundation", + "open", + "schemars 0.8.22", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "thiserror 2.0.20", + "url", + "windows", + "zbus", +] + +[[package]] +name = "tauri-plugin-process" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d55511a7bf6cd70c8767b02c97bf8134fa434daf3926cfc1be0a0f94132d165a" +dependencies = [ + "tauri", + "tauri-plugin", +] + +[[package]] +name = "tauri-plugin-shell" +version = "2.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8457dbf9e2bab1edd8df22bb2c20857a59a9868e79cb3eac5ed639eec4d0c73b" +dependencies = [ + "encoding_rs", + "log", + "open", + "os_pipe", + "regex", + "schemars 0.8.22", + "serde", + "serde_json", + "shared_child", + "tauri", + "tauri-plugin", + "thiserror 2.0.20", + "tokio", +] + +[[package]] +name = "tauri-runtime" +version = "2.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0b4bc95aed361b0019067d189a1174a603d460d0f6c72606512d59fc9c12ec8" +dependencies = [ + "cookie", + "dpi", + "gtk", + "http", + "jni", + "objc2", + "objc2-ui-kit", + "objc2-web-kit", + "raw-window-handle", + "serde", + "serde_json", + "tauri-utils", + "thiserror 2.0.20", + "url", + "webkit2gtk", + "webview2-com", + "windows", +] + +[[package]] +name = "tauri-runtime-wry" +version = "2.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e6fac707727b7a2f48e4ded90976324267371073edbb415ffb73bb0458d203f" +dependencies = [ + "gtk", + "http", + "jni", + "log", + "objc2", + "objc2-app-kit", + "once_cell", + "percent-encoding", + "raw-window-handle", + "softbuffer", + "tao", + "tauri-runtime", + "tauri-utils", + "url", + "webkit2gtk", + "webview2-com", + "windows", + "wry", +] + +[[package]] +name = "tauri-utils" +version = "2.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e176a18e67764923c4f1ce66f25ae4abe5f688384d5eb1a0fa6c77f3d90f887" +dependencies = [ + "anyhow", + "brotli", + "cargo_metadata", + "ctor", + "dom_query", + "dunce", + "glob", + "http", + "infer", + "json-patch", + "log", + "memchr", + "phf", + "plist", + "proc-macro2", + "quote", + "regex", + "schemars 0.8.22", + "semver", + "serde", + "serde-untagged", + "serde_json", + "serde_with", + "swift-rs", + "thiserror 2.0.20", + "toml 1.1.4+spec-1.1.0", + "url", + "urlpattern", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-winres" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc65d45c68858bfe420dd29e834b5d15dbecf8a07a8a16cf4d532c7b1f69d4b6" +dependencies = [ + "dunce", + "embed-resource", + "toml 1.1.4+spec-1.1.0", +] + +[[package]] +name = "tempfile" +version = "3.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" +dependencies = [ + "fastrand", + "getrandom 0.4.3", + "once_cell", + "rustix", + "windows-sys 0.61.2", +] + +[[package]] +name = "tendril" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fed54709c5b3a53d09bb1c113ea4f5ceafd1e772ddcb0030a82e1d56c087b08" +dependencies = [ + "new_debug_unreachable", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f" +dependencies = [ + "thiserror-impl 2.0.20", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.3", +] + +[[package]] +name = "time" +version = "0.3.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134" +dependencies = [ + "deranged", + "num-conv", + "powerfmt", + "serde_core", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109" + +[[package]] +name = "time-macros" +version = "0.2.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e27c91459209c2986af3dcf603a5a74a4368754ce37414f59acc971167f643" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb4ebadaa0af04fab11ae01eb5f9fdb5f9c5b875506e210e71c07873528baa7f" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed" +dependencies = [ + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-util" +version = "0.7.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "494815d09bf52b5548659851081238f0ca39ff638363907596da739561c62c52" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" +dependencies = [ + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.3", + "toml_edit 0.20.2", +] + +[[package]] +name = "toml" +version = "0.9.12+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" +dependencies = [ + "indexmap 2.14.0", + "serde_core", + "serde_spanned 1.1.1", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "toml_writer", + "winnow 0.7.15", +] + +[[package]] +name = "toml" +version = "1.1.4+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3aace63f4bbcdfc2c965b059de67119c89c4017a70d633be6c104910f67056f5" +dependencies = [ + "indexmap 2.14.0", + "serde_core", + "serde_spanned 1.1.1", + "toml_datetime 1.1.1+spec-1.1.0", + "toml_parser", + "toml_writer", + "winnow 1.0.4", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.7.5+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_datetime" +version = "1.1.1+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.14.0", + "toml_datetime 0.6.3", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap 2.14.0", + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.3", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.25.13+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6975367e4d2ef766d86af01ffad14b622fecc8d4357a998fbc4deb6e9bacaf9b" +dependencies = [ + "indexmap 2.14.0", + "toml_datetime 1.1.1+spec-1.1.0", + "toml_parser", + "winnow 1.0.4", +] + +[[package]] +name = "toml_parser" +version = "1.1.3+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56" +dependencies = [ + "winnow 1.0.4", +] + +[[package]] +name = "toml_writer" +version = "1.1.2+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d56353a2a665ad0f41a421187180aab746c8c325620617ad883a99a1cbe66d2" + +[[package]] +name = "tower" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" +dependencies = [ + "bitflags 2.13.1", + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", + "url", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "tracing-core" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tray-icon" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "045979e3f037cd18ad1cb2a419dfda133c5c29c9f3453370079f2255d46c257e" +dependencies = [ + "crossbeam-channel", + "dirs", + "libappindicator", + "muda", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation", + "once_cell", + "png 0.18.1", + "serde", + "thiserror 2.0.20", + "windows-sys 0.61.2", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + +[[package]] +name = "typenum" +version = "1.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" + +[[package]] +name = "uds_windows" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e" +dependencies = [ + "memoffset", + "tempfile", + "windows-sys 0.61.2", +] + +[[package]] +name = "unic-char-property" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" +dependencies = [ + "unic-char-range", +] + +[[package]] +name = "unic-char-range" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" + +[[package]] +name = "unic-common" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" + +[[package]] +name = "unic-ucd-ident" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e230a37c0381caa9219d67cf063aa3a375ffed5bf541a452db16e744bdab6987" +dependencies = [ + "unic-char-property", + "unic-char-range", + "unic-ucd-version", +] + +[[package]] +name = "unic-ucd-version" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" +dependencies = [ + "unic-common", +] + +[[package]] +name = "unicode-ident" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "unicode-segmentation" +version = "1.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8" + +[[package]] +name = "url" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", + "serde_derive", +] + +[[package]] +name = "urlpattern" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d" +dependencies = [ + "regex", + "serde", + "unic-ucd-ident", + "url", +] + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "uuid" +version = "1.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cefc03fd367c0c6d4305de1b312cf00248c4114f4a0418ce6a6af769e3b0bd9" +dependencies = [ + "getrandom 0.4.3", + "js-sys", + "serde_core", + "wasm-bindgen", +] + +[[package]] +name = "version-compare" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "vswhom" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" +dependencies = [ + "libc", + "vswhom-sys", +] + +[[package]] +name = "vswhom-sys" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "vyla-home" +version = "1.0.0" +dependencies = [ + "serde", + "serde_json", + "tauri", + "tauri-build", + "tauri-plugin-opener", + "tauri-plugin-process", + "tauri-plugin-shell", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.4+wasi-0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.127" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b70935747edd64d89de3efa29d73789b806c15798f8e7dca4d8ac356b50ce70" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b7777d5cc23d0e91404e53ce2d5e8ec7acae3026b16233dba62cd3246457950" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.127" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77775f8f3f7217702089053b94958f8f54061a3f663417df76e19cbdcca29bc1" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.127" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e11d33f857dc2fb11b8bc75aee111aa9cbeb12cd9f25efd3d4c2a3dd4e235284" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn 2.0.119", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.127" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef64dbcc55df09c7e5a46182d181c2cfa3e925f3da937ea764728b4bbb9dcbf" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wasm-streams" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1ec4f6517c9e11ae630e200b2b65d193279042e28edd4a2cda233e46670bbb" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c435338968042f4f59a557f690a253676d47ce13ceb55d70100e7facf6620a30" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web_atoms" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba8b815c1b593dc0baf78dd0f4fc8fdb2de53198fb1163738093e9a311c33fb3" +dependencies = [ + "phf", + "phf_codegen", + "string_cache", + "string_cache_codegen", +] + +[[package]] +name = "webkit2gtk" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1027150013530fb2eaf806408df88461ae4815a45c541c8975e61d6f2fc4793" +dependencies = [ + "bitflags 1.3.2", + "cairo-rs", + "gdk", + "gdk-sys", + "gio", + "gio-sys", + "glib", + "glib-sys", + "gobject-sys", + "gtk", + "gtk-sys", + "javascriptcore-rs", + "libc", + "once_cell", + "soup3", + "webkit2gtk-sys", +] + +[[package]] +name = "webkit2gtk-sys" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "916a5f65c2ef0dfe12fff695960a2ec3d4565359fdbb2e9943c974e06c734ea5" +dependencies = [ + "bitflags 1.3.2", + "cairo-sys-rs", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "gtk-sys", + "javascriptcore-rs-sys", + "libc", + "pkg-config", + "soup3-sys", + "system-deps", +] + +[[package]] +name = "webview2-com" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7130243a7a5b33c54a444e54842e6a9e133de08b5ad7b5861cd8ed9a6a5bc96a" +dependencies = [ + "webview2-com-macros", + "webview2-com-sys", + "windows", + "windows-core 0.61.2", + "windows-implement", + "windows-interface", +] + +[[package]] +name = "webview2-com-macros" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a921c1b6914c367b2b823cd4cde6f96beec77d30a939c8199bb377cf9b9b54" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "webview2-com-sys" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "381336cfffd772377d291702245447a5251a2ffa5bad679c99e61bc48bacbf9c" +dependencies = [ + "thiserror 2.0.20", + "windows", + "windows-core 0.61.2", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "window-vibrancy" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9bec5a31f3f9362f2258fd0e9c9dd61a9ca432e7306cc78c444258f0dce9a9c" +dependencies = [ + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "raw-window-handle", + "windows-sys 0.59.0", + "windows-version", +] + +[[package]] +name = "windows" +version = "0.61.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +dependencies = [ + "windows-collections", + "windows-core 0.61.2", + "windows-future", + "windows-link 0.1.3", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core 0.61.2", +] + +[[package]] +name = "windows-core" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.1.3", + "windows-result 0.3.4", + "windows-strings 0.4.2", +] + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", +] + +[[package]] +name = "windows-future" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", + "windows-threading", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", +] + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link 0.2.1", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", +] + +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-version" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4060a1da109b9d0326b7262c8e12c84df67cc0dbc9e33cf49e01ccc2eb63631" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" + +[[package]] +name = "winnow" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.55.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97" +dependencies = [ + "cfg-if", + "windows-sys 0.59.0", +] + +[[package]] +name = "wit-bindgen" +version = "0.57.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" + +[[package]] +name = "writeable" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc" + +[[package]] +name = "wry" +version = "0.55.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "186f9871daa55fd9c016578b810d149de58367113db7fb72b462d2323ce19514" +dependencies = [ + "base64 0.22.1", + "block2", + "cookie", + "crossbeam-channel", + "dirs", + "dom_query", + "dpi", + "dunce", + "gdkx11", + "gtk", + "http", + "javascriptcore-rs", + "jni", + "libc", + "ndk", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", + "once_cell", + "percent-encoding", + "raw-window-handle", + "sha2", + "soup3", + "tao-macros", + "thiserror 2.0.20", + "url", + "webkit2gtk", + "webkit2gtk-sys", + "webview2-com", + "windows", + "windows-core 0.61.2", + "windows-version", + "x11-dl", +] + +[[package]] +name = "x11" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "yoke" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", + "synstructure", +] + +[[package]] +name = "zbus" +version = "5.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5db4be7c075cb421e4b7ee645541604239bd243ba7c357511f4ff3a74b555907" +dependencies = [ + "async-broadcast", + "async-executor", + "async-io", + "async-lock", + "async-process", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "enumflags2", + "event-listener", + "futures-core", + "futures-lite", + "hex", + "libc", + "ordered-stream", + "rustix", + "serde", + "serde_repr", + "tracing", + "uds_windows", + "uuid", + "windows-sys 0.61.2", + "winnow 1.0.4", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "5.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2990635d09ade6df1868f72f8cac69a876a90981e8bd3c40b1be413f8dc88f40" +dependencies = [ + "proc-macro-crate 3.5.0", + "proc-macro2", + "quote", + "syn 3.0.3", + "zbus_names", + "zvariant", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "4.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8bf88b4a3ff53e883001e0e0115b297a9d53c31b9c1edd2bfdd853e3428624e" +dependencies = [ + "serde", + "winnow 1.0.4", + "zvariant", +] + +[[package]] +name = "zcheapstr" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1afec51604565183aeb5c54c20aeab286120d4e4460f7f76e3e8bb8c0d99473" +dependencies = [ + "serde", +] + +[[package]] +name = "zerofrom" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", + "synstructure", +] + +[[package]] +name = "zerotrie" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0464e17806c1d976d5cba29399c7f08e516e279e2ba493f63123b5fca67dd8" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.3", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" + +[[package]] +name = "zvariant" +version = "5.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1d34c27cc6cdd1f458427519dd6b8612f7b7e3f7b9a0b2355d041dda9869147" +dependencies = [ + "endi", + "enumflags2", + "serde", + "winnow 1.0.4", + "zcheapstr", + "zvariant_derive", + "zvariant_utils", +] + +[[package]] +name = "zvariant_derive" +version = "5.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "864155e69b4352db0c7f374917bf45d1e0c8d17659c8b3dbf9795f3673f8c497" +dependencies = [ + "proc-macro-crate 3.5.0", + "proc-macro2", + "quote", + "syn 3.0.3", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bad0294361a320b694a328460dc73add56c306150f5cb6bfafc44446120008a3" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn 3.0.3", + "winnow 1.0.4", +] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml new file mode 100644 index 0000000..0651d75 --- /dev/null +++ b/src-tauri/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "vyla-home" +version = "1.0.0" +description = "Vyla Home Desktop App Launcher" +edition = "2021" + +[build-dependencies] +tauri-build = { version = "2", features = [] } + +[dependencies] +tauri = { version = "2", features = [] } +tauri-plugin-shell = "2" +tauri-plugin-process = "2" +tauri-plugin-opener = "2" +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" diff --git a/src-tauri/build.rs b/src-tauri/build.rs new file mode 100644 index 0000000..82d481c --- /dev/null +++ b/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build() +} \ No newline at end of file diff --git a/src-tauri/gen/schemas/acl-manifests.json b/src-tauri/gen/schemas/acl-manifests.json new file mode 100644 index 0000000..a50efa5 --- /dev/null +++ b/src-tauri/gen/schemas/acl-manifests.json @@ -0,0 +1 @@ +{"core":{"default_permission":{"identifier":"default","description":"Default core plugins set.","permissions":["core:path:default","core:event:default","core:window:default","core:webview:default","core:app:default","core:image:default","core:resources:default","core:menu:default","core:tray:default"]},"permissions":{},"permission_sets":{},"global_scope_schema":null},"core:app":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-version","allow-name","allow-tauri-version","allow-identifier","allow-bundle-type","allow-register-listener","allow-remove-listener","allow-supports-multiple-windows"]},"permissions":{"allow-app-hide":{"identifier":"allow-app-hide","description":"Enables the app_hide command without any pre-configured scope.","commands":{"allow":["app_hide"],"deny":[]}},"allow-app-show":{"identifier":"allow-app-show","description":"Enables the app_show command without any pre-configured scope.","commands":{"allow":["app_show"],"deny":[]}},"allow-bundle-type":{"identifier":"allow-bundle-type","description":"Enables the bundle_type command without any pre-configured scope.","commands":{"allow":["bundle_type"],"deny":[]}},"allow-default-window-icon":{"identifier":"allow-default-window-icon","description":"Enables the default_window_icon command without any pre-configured scope.","commands":{"allow":["default_window_icon"],"deny":[]}},"allow-fetch-data-store-identifiers":{"identifier":"allow-fetch-data-store-identifiers","description":"Enables the fetch_data_store_identifiers command without any pre-configured scope.","commands":{"allow":["fetch_data_store_identifiers"],"deny":[]}},"allow-identifier":{"identifier":"allow-identifier","description":"Enables the identifier command without any pre-configured scope.","commands":{"allow":["identifier"],"deny":[]}},"allow-name":{"identifier":"allow-name","description":"Enables the name command without any pre-configured scope.","commands":{"allow":["name"],"deny":[]}},"allow-register-listener":{"identifier":"allow-register-listener","description":"Enables the register_listener command without any pre-configured scope.","commands":{"allow":["register_listener"],"deny":[]}},"allow-remove-data-store":{"identifier":"allow-remove-data-store","description":"Enables the remove_data_store command without any pre-configured scope.","commands":{"allow":["remove_data_store"],"deny":[]}},"allow-remove-listener":{"identifier":"allow-remove-listener","description":"Enables the remove_listener command without any pre-configured scope.","commands":{"allow":["remove_listener"],"deny":[]}},"allow-set-app-theme":{"identifier":"allow-set-app-theme","description":"Enables the set_app_theme command without any pre-configured scope.","commands":{"allow":["set_app_theme"],"deny":[]}},"allow-set-dock-visibility":{"identifier":"allow-set-dock-visibility","description":"Enables the set_dock_visibility command without any pre-configured scope.","commands":{"allow":["set_dock_visibility"],"deny":[]}},"allow-supports-multiple-windows":{"identifier":"allow-supports-multiple-windows","description":"Enables the supports_multiple_windows command without any pre-configured scope.","commands":{"allow":["supports_multiple_windows"],"deny":[]}},"allow-tauri-version":{"identifier":"allow-tauri-version","description":"Enables the tauri_version command without any pre-configured scope.","commands":{"allow":["tauri_version"],"deny":[]}},"allow-version":{"identifier":"allow-version","description":"Enables the version command without any pre-configured scope.","commands":{"allow":["version"],"deny":[]}},"deny-app-hide":{"identifier":"deny-app-hide","description":"Denies the app_hide command without any pre-configured scope.","commands":{"allow":[],"deny":["app_hide"]}},"deny-app-show":{"identifier":"deny-app-show","description":"Denies the app_show command without any pre-configured scope.","commands":{"allow":[],"deny":["app_show"]}},"deny-bundle-type":{"identifier":"deny-bundle-type","description":"Denies the bundle_type command without any pre-configured scope.","commands":{"allow":[],"deny":["bundle_type"]}},"deny-default-window-icon":{"identifier":"deny-default-window-icon","description":"Denies the default_window_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["default_window_icon"]}},"deny-fetch-data-store-identifiers":{"identifier":"deny-fetch-data-store-identifiers","description":"Denies the fetch_data_store_identifiers command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_data_store_identifiers"]}},"deny-identifier":{"identifier":"deny-identifier","description":"Denies the identifier command without any pre-configured scope.","commands":{"allow":[],"deny":["identifier"]}},"deny-name":{"identifier":"deny-name","description":"Denies the name command without any pre-configured scope.","commands":{"allow":[],"deny":["name"]}},"deny-register-listener":{"identifier":"deny-register-listener","description":"Denies the register_listener command without any pre-configured scope.","commands":{"allow":[],"deny":["register_listener"]}},"deny-remove-data-store":{"identifier":"deny-remove-data-store","description":"Denies the remove_data_store command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_data_store"]}},"deny-remove-listener":{"identifier":"deny-remove-listener","description":"Denies the remove_listener command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_listener"]}},"deny-set-app-theme":{"identifier":"deny-set-app-theme","description":"Denies the set_app_theme command without any pre-configured scope.","commands":{"allow":[],"deny":["set_app_theme"]}},"deny-set-dock-visibility":{"identifier":"deny-set-dock-visibility","description":"Denies the set_dock_visibility command without any pre-configured scope.","commands":{"allow":[],"deny":["set_dock_visibility"]}},"deny-supports-multiple-windows":{"identifier":"deny-supports-multiple-windows","description":"Denies the supports_multiple_windows command without any pre-configured scope.","commands":{"allow":[],"deny":["supports_multiple_windows"]}},"deny-tauri-version":{"identifier":"deny-tauri-version","description":"Denies the tauri_version command without any pre-configured scope.","commands":{"allow":[],"deny":["tauri_version"]}},"deny-version":{"identifier":"deny-version","description":"Denies the version command without any pre-configured scope.","commands":{"allow":[],"deny":["version"]}}},"permission_sets":{},"global_scope_schema":null},"core:event":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-listen","allow-unlisten","allow-emit","allow-emit-to"]},"permissions":{"allow-emit":{"identifier":"allow-emit","description":"Enables the emit command without any pre-configured scope.","commands":{"allow":["emit"],"deny":[]}},"allow-emit-to":{"identifier":"allow-emit-to","description":"Enables the emit_to command without any pre-configured scope.","commands":{"allow":["emit_to"],"deny":[]}},"allow-listen":{"identifier":"allow-listen","description":"Enables the listen command without any pre-configured scope.","commands":{"allow":["listen"],"deny":[]}},"allow-unlisten":{"identifier":"allow-unlisten","description":"Enables the unlisten command without any pre-configured scope.","commands":{"allow":["unlisten"],"deny":[]}},"deny-emit":{"identifier":"deny-emit","description":"Denies the emit command without any pre-configured scope.","commands":{"allow":[],"deny":["emit"]}},"deny-emit-to":{"identifier":"deny-emit-to","description":"Denies the emit_to command without any pre-configured scope.","commands":{"allow":[],"deny":["emit_to"]}},"deny-listen":{"identifier":"deny-listen","description":"Denies the listen command without any pre-configured scope.","commands":{"allow":[],"deny":["listen"]}},"deny-unlisten":{"identifier":"deny-unlisten","description":"Denies the unlisten command without any pre-configured scope.","commands":{"allow":[],"deny":["unlisten"]}}},"permission_sets":{},"global_scope_schema":null},"core:image":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-new","allow-from-bytes","allow-from-path","allow-rgba","allow-size"]},"permissions":{"allow-from-bytes":{"identifier":"allow-from-bytes","description":"Enables the from_bytes command without any pre-configured scope.","commands":{"allow":["from_bytes"],"deny":[]}},"allow-from-path":{"identifier":"allow-from-path","description":"Enables the from_path command without any pre-configured scope.","commands":{"allow":["from_path"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-rgba":{"identifier":"allow-rgba","description":"Enables the rgba command without any pre-configured scope.","commands":{"allow":["rgba"],"deny":[]}},"allow-size":{"identifier":"allow-size","description":"Enables the size command without any pre-configured scope.","commands":{"allow":["size"],"deny":[]}},"deny-from-bytes":{"identifier":"deny-from-bytes","description":"Denies the from_bytes command without any pre-configured scope.","commands":{"allow":[],"deny":["from_bytes"]}},"deny-from-path":{"identifier":"deny-from-path","description":"Denies the from_path command without any pre-configured scope.","commands":{"allow":[],"deny":["from_path"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-rgba":{"identifier":"deny-rgba","description":"Denies the rgba command without any pre-configured scope.","commands":{"allow":[],"deny":["rgba"]}},"deny-size":{"identifier":"deny-size","description":"Denies the size command without any pre-configured scope.","commands":{"allow":[],"deny":["size"]}}},"permission_sets":{},"global_scope_schema":null},"core:menu":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-new","allow-append","allow-prepend","allow-insert","allow-remove","allow-remove-at","allow-items","allow-get","allow-popup","allow-create-default","allow-set-as-app-menu","allow-set-as-window-menu","allow-text","allow-set-text","allow-is-enabled","allow-set-enabled","allow-set-accelerator","allow-set-as-windows-menu-for-nsapp","allow-set-as-help-menu-for-nsapp","allow-is-checked","allow-set-checked","allow-set-icon"]},"permissions":{"allow-append":{"identifier":"allow-append","description":"Enables the append command without any pre-configured scope.","commands":{"allow":["append"],"deny":[]}},"allow-create-default":{"identifier":"allow-create-default","description":"Enables the create_default command without any pre-configured scope.","commands":{"allow":["create_default"],"deny":[]}},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]}},"allow-insert":{"identifier":"allow-insert","description":"Enables the insert command without any pre-configured scope.","commands":{"allow":["insert"],"deny":[]}},"allow-is-checked":{"identifier":"allow-is-checked","description":"Enables the is_checked command without any pre-configured scope.","commands":{"allow":["is_checked"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"allow-items":{"identifier":"allow-items","description":"Enables the items command without any pre-configured scope.","commands":{"allow":["items"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-popup":{"identifier":"allow-popup","description":"Enables the popup command without any pre-configured scope.","commands":{"allow":["popup"],"deny":[]}},"allow-prepend":{"identifier":"allow-prepend","description":"Enables the prepend command without any pre-configured scope.","commands":{"allow":["prepend"],"deny":[]}},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]}},"allow-remove-at":{"identifier":"allow-remove-at","description":"Enables the remove_at command without any pre-configured scope.","commands":{"allow":["remove_at"],"deny":[]}},"allow-set-accelerator":{"identifier":"allow-set-accelerator","description":"Enables the set_accelerator command without any pre-configured scope.","commands":{"allow":["set_accelerator"],"deny":[]}},"allow-set-as-app-menu":{"identifier":"allow-set-as-app-menu","description":"Enables the set_as_app_menu command without any pre-configured scope.","commands":{"allow":["set_as_app_menu"],"deny":[]}},"allow-set-as-help-menu-for-nsapp":{"identifier":"allow-set-as-help-menu-for-nsapp","description":"Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_help_menu_for_nsapp"],"deny":[]}},"allow-set-as-window-menu":{"identifier":"allow-set-as-window-menu","description":"Enables the set_as_window_menu command without any pre-configured scope.","commands":{"allow":["set_as_window_menu"],"deny":[]}},"allow-set-as-windows-menu-for-nsapp":{"identifier":"allow-set-as-windows-menu-for-nsapp","description":"Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_windows_menu_for_nsapp"],"deny":[]}},"allow-set-checked":{"identifier":"allow-set-checked","description":"Enables the set_checked command without any pre-configured scope.","commands":{"allow":["set_checked"],"deny":[]}},"allow-set-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-text":{"identifier":"allow-set-text","description":"Enables the set_text command without any pre-configured scope.","commands":{"allow":["set_text"],"deny":[]}},"allow-text":{"identifier":"allow-text","description":"Enables the text command without any pre-configured scope.","commands":{"allow":["text"],"deny":[]}},"deny-append":{"identifier":"deny-append","description":"Denies the append command without any pre-configured scope.","commands":{"allow":[],"deny":["append"]}},"deny-create-default":{"identifier":"deny-create-default","description":"Denies the create_default command without any pre-configured scope.","commands":{"allow":[],"deny":["create_default"]}},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]}},"deny-insert":{"identifier":"deny-insert","description":"Denies the insert command without any pre-configured scope.","commands":{"allow":[],"deny":["insert"]}},"deny-is-checked":{"identifier":"deny-is-checked","description":"Denies the is_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["is_checked"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}},"deny-items":{"identifier":"deny-items","description":"Denies the items command without any pre-configured scope.","commands":{"allow":[],"deny":["items"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-popup":{"identifier":"deny-popup","description":"Denies the popup command without any pre-configured scope.","commands":{"allow":[],"deny":["popup"]}},"deny-prepend":{"identifier":"deny-prepend","description":"Denies the prepend command without any pre-configured scope.","commands":{"allow":[],"deny":["prepend"]}},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]}},"deny-remove-at":{"identifier":"deny-remove-at","description":"Denies the remove_at command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_at"]}},"deny-set-accelerator":{"identifier":"deny-set-accelerator","description":"Denies the set_accelerator command without any pre-configured scope.","commands":{"allow":[],"deny":["set_accelerator"]}},"deny-set-as-app-menu":{"identifier":"deny-set-as-app-menu","description":"Denies the set_as_app_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_app_menu"]}},"deny-set-as-help-menu-for-nsapp":{"identifier":"deny-set-as-help-menu-for-nsapp","description":"Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_help_menu_for_nsapp"]}},"deny-set-as-window-menu":{"identifier":"deny-set-as-window-menu","description":"Denies the set_as_window_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_window_menu"]}},"deny-set-as-windows-menu-for-nsapp":{"identifier":"deny-set-as-windows-menu-for-nsapp","description":"Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_windows_menu_for_nsapp"]}},"deny-set-checked":{"identifier":"deny-set-checked","description":"Denies the set_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["set_checked"]}},"deny-set-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-text":{"identifier":"deny-set-text","description":"Denies the set_text command without any pre-configured scope.","commands":{"allow":[],"deny":["set_text"]}},"deny-text":{"identifier":"deny-text","description":"Denies the text command without any pre-configured scope.","commands":{"allow":[],"deny":["text"]}}},"permission_sets":{},"global_scope_schema":null},"core:path":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-resolve-directory","allow-resolve","allow-normalize","allow-join","allow-dirname","allow-extname","allow-basename","allow-is-absolute"]},"permissions":{"allow-basename":{"identifier":"allow-basename","description":"Enables the basename command without any pre-configured scope.","commands":{"allow":["basename"],"deny":[]}},"allow-dirname":{"identifier":"allow-dirname","description":"Enables the dirname command without any pre-configured scope.","commands":{"allow":["dirname"],"deny":[]}},"allow-extname":{"identifier":"allow-extname","description":"Enables the extname command without any pre-configured scope.","commands":{"allow":["extname"],"deny":[]}},"allow-is-absolute":{"identifier":"allow-is-absolute","description":"Enables the is_absolute command without any pre-configured scope.","commands":{"allow":["is_absolute"],"deny":[]}},"allow-join":{"identifier":"allow-join","description":"Enables the join command without any pre-configured scope.","commands":{"allow":["join"],"deny":[]}},"allow-normalize":{"identifier":"allow-normalize","description":"Enables the normalize command without any pre-configured scope.","commands":{"allow":["normalize"],"deny":[]}},"allow-resolve":{"identifier":"allow-resolve","description":"Enables the resolve command without any pre-configured scope.","commands":{"allow":["resolve"],"deny":[]}},"allow-resolve-directory":{"identifier":"allow-resolve-directory","description":"Enables the resolve_directory command without any pre-configured scope.","commands":{"allow":["resolve_directory"],"deny":[]}},"deny-basename":{"identifier":"deny-basename","description":"Denies the basename command without any pre-configured scope.","commands":{"allow":[],"deny":["basename"]}},"deny-dirname":{"identifier":"deny-dirname","description":"Denies the dirname command without any pre-configured scope.","commands":{"allow":[],"deny":["dirname"]}},"deny-extname":{"identifier":"deny-extname","description":"Denies the extname command without any pre-configured scope.","commands":{"allow":[],"deny":["extname"]}},"deny-is-absolute":{"identifier":"deny-is-absolute","description":"Denies the is_absolute command without any pre-configured scope.","commands":{"allow":[],"deny":["is_absolute"]}},"deny-join":{"identifier":"deny-join","description":"Denies the join command without any pre-configured scope.","commands":{"allow":[],"deny":["join"]}},"deny-normalize":{"identifier":"deny-normalize","description":"Denies the normalize command without any pre-configured scope.","commands":{"allow":[],"deny":["normalize"]}},"deny-resolve":{"identifier":"deny-resolve","description":"Denies the resolve command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve"]}},"deny-resolve-directory":{"identifier":"deny-resolve-directory","description":"Denies the resolve_directory command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve_directory"]}}},"permission_sets":{},"global_scope_schema":null},"core:resources":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-close"]},"permissions":{"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}}},"permission_sets":{},"global_scope_schema":null},"core:tray":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-new","allow-get-by-id","allow-remove-by-id","allow-set-icon","allow-set-menu","allow-set-tooltip","allow-set-title","allow-set-visible","allow-set-temp-dir-path","allow-set-icon-as-template","allow-set-icon-with-as-template","allow-set-show-menu-on-left-click"]},"permissions":{"allow-get-by-id":{"identifier":"allow-get-by-id","description":"Enables the get_by_id command without any pre-configured scope.","commands":{"allow":["get_by_id"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-remove-by-id":{"identifier":"allow-remove-by-id","description":"Enables the remove_by_id command without any pre-configured scope.","commands":{"allow":["remove_by_id"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-icon-as-template":{"identifier":"allow-set-icon-as-template","description":"Enables the set_icon_as_template command without any pre-configured scope.","commands":{"allow":["set_icon_as_template"],"deny":[]}},"allow-set-icon-with-as-template":{"identifier":"allow-set-icon-with-as-template","description":"Enables the set_icon_with_as_template command without any pre-configured scope.","commands":{"allow":["set_icon_with_as_template"],"deny":[]}},"allow-set-menu":{"identifier":"allow-set-menu","description":"Enables the set_menu command without any pre-configured scope.","commands":{"allow":["set_menu"],"deny":[]}},"allow-set-show-menu-on-left-click":{"identifier":"allow-set-show-menu-on-left-click","description":"Enables the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":["set_show_menu_on_left_click"],"deny":[]}},"allow-set-temp-dir-path":{"identifier":"allow-set-temp-dir-path","description":"Enables the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":["set_temp_dir_path"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-tooltip":{"identifier":"allow-set-tooltip","description":"Enables the set_tooltip command without any pre-configured scope.","commands":{"allow":["set_tooltip"],"deny":[]}},"allow-set-visible":{"identifier":"allow-set-visible","description":"Enables the set_visible command without any pre-configured scope.","commands":{"allow":["set_visible"],"deny":[]}},"deny-get-by-id":{"identifier":"deny-get-by-id","description":"Denies the get_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["get_by_id"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-remove-by-id":{"identifier":"deny-remove-by-id","description":"Denies the remove_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_by_id"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-icon-as-template":{"identifier":"deny-set-icon-as-template","description":"Denies the set_icon_as_template command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon_as_template"]}},"deny-set-icon-with-as-template":{"identifier":"deny-set-icon-with-as-template","description":"Denies the set_icon_with_as_template command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon_with_as_template"]}},"deny-set-menu":{"identifier":"deny-set-menu","description":"Denies the set_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_menu"]}},"deny-set-show-menu-on-left-click":{"identifier":"deny-set-show-menu-on-left-click","description":"Denies the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":[],"deny":["set_show_menu_on_left_click"]}},"deny-set-temp-dir-path":{"identifier":"deny-set-temp-dir-path","description":"Denies the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":[],"deny":["set_temp_dir_path"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-tooltip":{"identifier":"deny-set-tooltip","description":"Denies the set_tooltip command without any pre-configured scope.","commands":{"allow":[],"deny":["set_tooltip"]}},"deny-set-visible":{"identifier":"deny-set-visible","description":"Denies the set_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible"]}}},"permission_sets":{},"global_scope_schema":null},"core:webview":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-get-all-webviews","allow-webview-position","allow-webview-size","allow-internal-toggle-devtools"]},"permissions":{"allow-clear-all-browsing-data":{"identifier":"allow-clear-all-browsing-data","description":"Enables the clear_all_browsing_data command without any pre-configured scope.","commands":{"allow":["clear_all_browsing_data"],"deny":[]}},"allow-create-webview":{"identifier":"allow-create-webview","description":"Enables the create_webview command without any pre-configured scope.","commands":{"allow":["create_webview"],"deny":[]}},"allow-create-webview-window":{"identifier":"allow-create-webview-window","description":"Enables the create_webview_window command without any pre-configured scope.","commands":{"allow":["create_webview_window"],"deny":[]}},"allow-get-all-webviews":{"identifier":"allow-get-all-webviews","description":"Enables the get_all_webviews command without any pre-configured scope.","commands":{"allow":["get_all_webviews"],"deny":[]}},"allow-internal-toggle-devtools":{"identifier":"allow-internal-toggle-devtools","description":"Enables the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":["internal_toggle_devtools"],"deny":[]}},"allow-print":{"identifier":"allow-print","description":"Enables the print command without any pre-configured scope.","commands":{"allow":["print"],"deny":[]}},"allow-reparent":{"identifier":"allow-reparent","description":"Enables the reparent command without any pre-configured scope.","commands":{"allow":["reparent"],"deny":[]}},"allow-set-webview-auto-resize":{"identifier":"allow-set-webview-auto-resize","description":"Enables the set_webview_auto_resize command without any pre-configured scope.","commands":{"allow":["set_webview_auto_resize"],"deny":[]}},"allow-set-webview-background-color":{"identifier":"allow-set-webview-background-color","description":"Enables the set_webview_background_color command without any pre-configured scope.","commands":{"allow":["set_webview_background_color"],"deny":[]}},"allow-set-webview-focus":{"identifier":"allow-set-webview-focus","description":"Enables the set_webview_focus command without any pre-configured scope.","commands":{"allow":["set_webview_focus"],"deny":[]}},"allow-set-webview-position":{"identifier":"allow-set-webview-position","description":"Enables the set_webview_position command without any pre-configured scope.","commands":{"allow":["set_webview_position"],"deny":[]}},"allow-set-webview-size":{"identifier":"allow-set-webview-size","description":"Enables the set_webview_size command without any pre-configured scope.","commands":{"allow":["set_webview_size"],"deny":[]}},"allow-set-webview-zoom":{"identifier":"allow-set-webview-zoom","description":"Enables the set_webview_zoom command without any pre-configured scope.","commands":{"allow":["set_webview_zoom"],"deny":[]}},"allow-webview-close":{"identifier":"allow-webview-close","description":"Enables the webview_close command without any pre-configured scope.","commands":{"allow":["webview_close"],"deny":[]}},"allow-webview-hide":{"identifier":"allow-webview-hide","description":"Enables the webview_hide command without any pre-configured scope.","commands":{"allow":["webview_hide"],"deny":[]}},"allow-webview-position":{"identifier":"allow-webview-position","description":"Enables the webview_position command without any pre-configured scope.","commands":{"allow":["webview_position"],"deny":[]}},"allow-webview-show":{"identifier":"allow-webview-show","description":"Enables the webview_show command without any pre-configured scope.","commands":{"allow":["webview_show"],"deny":[]}},"allow-webview-size":{"identifier":"allow-webview-size","description":"Enables the webview_size command without any pre-configured scope.","commands":{"allow":["webview_size"],"deny":[]}},"deny-clear-all-browsing-data":{"identifier":"deny-clear-all-browsing-data","description":"Denies the clear_all_browsing_data command without any pre-configured scope.","commands":{"allow":[],"deny":["clear_all_browsing_data"]}},"deny-create-webview":{"identifier":"deny-create-webview","description":"Denies the create_webview command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview"]}},"deny-create-webview-window":{"identifier":"deny-create-webview-window","description":"Denies the create_webview_window command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview_window"]}},"deny-get-all-webviews":{"identifier":"deny-get-all-webviews","description":"Denies the get_all_webviews command without any pre-configured scope.","commands":{"allow":[],"deny":["get_all_webviews"]}},"deny-internal-toggle-devtools":{"identifier":"deny-internal-toggle-devtools","description":"Denies the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_devtools"]}},"deny-print":{"identifier":"deny-print","description":"Denies the print command without any pre-configured scope.","commands":{"allow":[],"deny":["print"]}},"deny-reparent":{"identifier":"deny-reparent","description":"Denies the reparent command without any pre-configured scope.","commands":{"allow":[],"deny":["reparent"]}},"deny-set-webview-auto-resize":{"identifier":"deny-set-webview-auto-resize","description":"Denies the set_webview_auto_resize command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_auto_resize"]}},"deny-set-webview-background-color":{"identifier":"deny-set-webview-background-color","description":"Denies the set_webview_background_color command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_background_color"]}},"deny-set-webview-focus":{"identifier":"deny-set-webview-focus","description":"Denies the set_webview_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_focus"]}},"deny-set-webview-position":{"identifier":"deny-set-webview-position","description":"Denies the set_webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_position"]}},"deny-set-webview-size":{"identifier":"deny-set-webview-size","description":"Denies the set_webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_size"]}},"deny-set-webview-zoom":{"identifier":"deny-set-webview-zoom","description":"Denies the set_webview_zoom command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_zoom"]}},"deny-webview-close":{"identifier":"deny-webview-close","description":"Denies the webview_close command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_close"]}},"deny-webview-hide":{"identifier":"deny-webview-hide","description":"Denies the webview_hide command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_hide"]}},"deny-webview-position":{"identifier":"deny-webview-position","description":"Denies the webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_position"]}},"deny-webview-show":{"identifier":"deny-webview-show","description":"Denies the webview_show command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_show"]}},"deny-webview-size":{"identifier":"deny-webview-size","description":"Denies the webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_size"]}}},"permission_sets":{},"global_scope_schema":null},"core:window":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-get-all-windows","allow-scale-factor","allow-inner-position","allow-outer-position","allow-inner-size","allow-outer-size","allow-is-fullscreen","allow-is-minimized","allow-is-maximized","allow-is-focused","allow-is-decorated","allow-is-resizable","allow-is-maximizable","allow-is-minimizable","allow-is-closable","allow-is-visible","allow-is-enabled","allow-title","allow-current-monitor","allow-primary-monitor","allow-monitor-from-point","allow-available-monitors","allow-cursor-position","allow-theme","allow-is-always-on-top","allow-activity-name","allow-scene-identifier","allow-internal-toggle-maximize"]},"permissions":{"allow-activity-name":{"identifier":"allow-activity-name","description":"Enables the activity_name command without any pre-configured scope.","commands":{"allow":["activity_name"],"deny":[]}},"allow-available-monitors":{"identifier":"allow-available-monitors","description":"Enables the available_monitors command without any pre-configured scope.","commands":{"allow":["available_monitors"],"deny":[]}},"allow-center":{"identifier":"allow-center","description":"Enables the center command without any pre-configured scope.","commands":{"allow":["center"],"deny":[]}},"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"allow-create":{"identifier":"allow-create","description":"Enables the create command without any pre-configured scope.","commands":{"allow":["create"],"deny":[]}},"allow-current-monitor":{"identifier":"allow-current-monitor","description":"Enables the current_monitor command without any pre-configured scope.","commands":{"allow":["current_monitor"],"deny":[]}},"allow-cursor-position":{"identifier":"allow-cursor-position","description":"Enables the cursor_position command without any pre-configured scope.","commands":{"allow":["cursor_position"],"deny":[]}},"allow-destroy":{"identifier":"allow-destroy","description":"Enables the destroy command without any pre-configured scope.","commands":{"allow":["destroy"],"deny":[]}},"allow-get-all-windows":{"identifier":"allow-get-all-windows","description":"Enables the get_all_windows command without any pre-configured scope.","commands":{"allow":["get_all_windows"],"deny":[]}},"allow-hide":{"identifier":"allow-hide","description":"Enables the hide command without any pre-configured scope.","commands":{"allow":["hide"],"deny":[]}},"allow-inner-position":{"identifier":"allow-inner-position","description":"Enables the inner_position command without any pre-configured scope.","commands":{"allow":["inner_position"],"deny":[]}},"allow-inner-size":{"identifier":"allow-inner-size","description":"Enables the inner_size command without any pre-configured scope.","commands":{"allow":["inner_size"],"deny":[]}},"allow-internal-toggle-maximize":{"identifier":"allow-internal-toggle-maximize","description":"Enables the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":["internal_toggle_maximize"],"deny":[]}},"allow-is-always-on-top":{"identifier":"allow-is-always-on-top","description":"Enables the is_always_on_top command without any pre-configured scope.","commands":{"allow":["is_always_on_top"],"deny":[]}},"allow-is-closable":{"identifier":"allow-is-closable","description":"Enables the is_closable command without any pre-configured scope.","commands":{"allow":["is_closable"],"deny":[]}},"allow-is-decorated":{"identifier":"allow-is-decorated","description":"Enables the is_decorated command without any pre-configured scope.","commands":{"allow":["is_decorated"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"allow-is-focused":{"identifier":"allow-is-focused","description":"Enables the is_focused command without any pre-configured scope.","commands":{"allow":["is_focused"],"deny":[]}},"allow-is-fullscreen":{"identifier":"allow-is-fullscreen","description":"Enables the is_fullscreen command without any pre-configured scope.","commands":{"allow":["is_fullscreen"],"deny":[]}},"allow-is-maximizable":{"identifier":"allow-is-maximizable","description":"Enables the is_maximizable command without any pre-configured scope.","commands":{"allow":["is_maximizable"],"deny":[]}},"allow-is-maximized":{"identifier":"allow-is-maximized","description":"Enables the is_maximized command without any pre-configured scope.","commands":{"allow":["is_maximized"],"deny":[]}},"allow-is-minimizable":{"identifier":"allow-is-minimizable","description":"Enables the is_minimizable command without any pre-configured scope.","commands":{"allow":["is_minimizable"],"deny":[]}},"allow-is-minimized":{"identifier":"allow-is-minimized","description":"Enables the is_minimized command without any pre-configured scope.","commands":{"allow":["is_minimized"],"deny":[]}},"allow-is-resizable":{"identifier":"allow-is-resizable","description":"Enables the is_resizable command without any pre-configured scope.","commands":{"allow":["is_resizable"],"deny":[]}},"allow-is-visible":{"identifier":"allow-is-visible","description":"Enables the is_visible command without any pre-configured scope.","commands":{"allow":["is_visible"],"deny":[]}},"allow-maximize":{"identifier":"allow-maximize","description":"Enables the maximize command without any pre-configured scope.","commands":{"allow":["maximize"],"deny":[]}},"allow-minimize":{"identifier":"allow-minimize","description":"Enables the minimize command without any pre-configured scope.","commands":{"allow":["minimize"],"deny":[]}},"allow-monitor-from-point":{"identifier":"allow-monitor-from-point","description":"Enables the monitor_from_point command without any pre-configured scope.","commands":{"allow":["monitor_from_point"],"deny":[]}},"allow-outer-position":{"identifier":"allow-outer-position","description":"Enables the outer_position command without any pre-configured scope.","commands":{"allow":["outer_position"],"deny":[]}},"allow-outer-size":{"identifier":"allow-outer-size","description":"Enables the outer_size command without any pre-configured scope.","commands":{"allow":["outer_size"],"deny":[]}},"allow-primary-monitor":{"identifier":"allow-primary-monitor","description":"Enables the primary_monitor command without any pre-configured scope.","commands":{"allow":["primary_monitor"],"deny":[]}},"allow-request-user-attention":{"identifier":"allow-request-user-attention","description":"Enables the request_user_attention command without any pre-configured scope.","commands":{"allow":["request_user_attention"],"deny":[]}},"allow-scale-factor":{"identifier":"allow-scale-factor","description":"Enables the scale_factor command without any pre-configured scope.","commands":{"allow":["scale_factor"],"deny":[]}},"allow-scene-identifier":{"identifier":"allow-scene-identifier","description":"Enables the scene_identifier command without any pre-configured scope.","commands":{"allow":["scene_identifier"],"deny":[]}},"allow-set-always-on-bottom":{"identifier":"allow-set-always-on-bottom","description":"Enables the set_always_on_bottom command without any pre-configured scope.","commands":{"allow":["set_always_on_bottom"],"deny":[]}},"allow-set-always-on-top":{"identifier":"allow-set-always-on-top","description":"Enables the set_always_on_top command without any pre-configured scope.","commands":{"allow":["set_always_on_top"],"deny":[]}},"allow-set-background-color":{"identifier":"allow-set-background-color","description":"Enables the set_background_color command without any pre-configured scope.","commands":{"allow":["set_background_color"],"deny":[]}},"allow-set-badge-count":{"identifier":"allow-set-badge-count","description":"Enables the set_badge_count command without any pre-configured scope.","commands":{"allow":["set_badge_count"],"deny":[]}},"allow-set-badge-label":{"identifier":"allow-set-badge-label","description":"Enables the set_badge_label command without any pre-configured scope.","commands":{"allow":["set_badge_label"],"deny":[]}},"allow-set-closable":{"identifier":"allow-set-closable","description":"Enables the set_closable command without any pre-configured scope.","commands":{"allow":["set_closable"],"deny":[]}},"allow-set-content-protected":{"identifier":"allow-set-content-protected","description":"Enables the set_content_protected command without any pre-configured scope.","commands":{"allow":["set_content_protected"],"deny":[]}},"allow-set-cursor-grab":{"identifier":"allow-set-cursor-grab","description":"Enables the set_cursor_grab command without any pre-configured scope.","commands":{"allow":["set_cursor_grab"],"deny":[]}},"allow-set-cursor-icon":{"identifier":"allow-set-cursor-icon","description":"Enables the set_cursor_icon command without any pre-configured scope.","commands":{"allow":["set_cursor_icon"],"deny":[]}},"allow-set-cursor-position":{"identifier":"allow-set-cursor-position","description":"Enables the set_cursor_position command without any pre-configured scope.","commands":{"allow":["set_cursor_position"],"deny":[]}},"allow-set-cursor-visible":{"identifier":"allow-set-cursor-visible","description":"Enables the set_cursor_visible command without any pre-configured scope.","commands":{"allow":["set_cursor_visible"],"deny":[]}},"allow-set-decorations":{"identifier":"allow-set-decorations","description":"Enables the set_decorations command without any pre-configured scope.","commands":{"allow":["set_decorations"],"deny":[]}},"allow-set-effects":{"identifier":"allow-set-effects","description":"Enables the set_effects command without any pre-configured scope.","commands":{"allow":["set_effects"],"deny":[]}},"allow-set-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"deny":[]}},"allow-set-focus":{"identifier":"allow-set-focus","description":"Enables the set_focus command without any pre-configured scope.","commands":{"allow":["set_focus"],"deny":[]}},"allow-set-focusable":{"identifier":"allow-set-focusable","description":"Enables the set_focusable command without any pre-configured scope.","commands":{"allow":["set_focusable"],"deny":[]}},"allow-set-fullscreen":{"identifier":"allow-set-fullscreen","description":"Enables the set_fullscreen command without any pre-configured scope.","commands":{"allow":["set_fullscreen"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-ignore-cursor-events":{"identifier":"allow-set-ignore-cursor-events","description":"Enables the set_ignore_cursor_events command without any pre-configured scope.","commands":{"allow":["set_ignore_cursor_events"],"deny":[]}},"allow-set-max-size":{"identifier":"allow-set-max-size","description":"Enables the set_max_size command without any pre-configured scope.","commands":{"allow":["set_max_size"],"deny":[]}},"allow-set-maximizable":{"identifier":"allow-set-maximizable","description":"Enables the set_maximizable command without any pre-configured scope.","commands":{"allow":["set_maximizable"],"deny":[]}},"allow-set-min-size":{"identifier":"allow-set-min-size","description":"Enables the set_min_size command without any pre-configured scope.","commands":{"allow":["set_min_size"],"deny":[]}},"allow-set-minimizable":{"identifier":"allow-set-minimizable","description":"Enables the set_minimizable command without any pre-configured scope.","commands":{"allow":["set_minimizable"],"deny":[]}},"allow-set-overlay-icon":{"identifier":"allow-set-overlay-icon","description":"Enables the set_overlay_icon command without any pre-configured scope.","commands":{"allow":["set_overlay_icon"],"deny":[]}},"allow-set-position":{"identifier":"allow-set-position","description":"Enables the set_position command without any pre-configured scope.","commands":{"allow":["set_position"],"deny":[]}},"allow-set-progress-bar":{"identifier":"allow-set-progress-bar","description":"Enables the set_progress_bar command without any pre-configured scope.","commands":{"allow":["set_progress_bar"],"deny":[]}},"allow-set-resizable":{"identifier":"allow-set-resizable","description":"Enables the set_resizable command without any pre-configured scope.","commands":{"allow":["set_resizable"],"deny":[]}},"allow-set-shadow":{"identifier":"allow-set-shadow","description":"Enables the set_shadow command without any pre-configured scope.","commands":{"allow":["set_shadow"],"deny":[]}},"allow-set-simple-fullscreen":{"identifier":"allow-set-simple-fullscreen","description":"Enables the set_simple_fullscreen command without any pre-configured scope.","commands":{"allow":["set_simple_fullscreen"],"deny":[]}},"allow-set-size":{"identifier":"allow-set-size","description":"Enables the set_size command without any pre-configured scope.","commands":{"allow":["set_size"],"deny":[]}},"allow-set-size-constraints":{"identifier":"allow-set-size-constraints","description":"Enables the set_size_constraints command without any pre-configured scope.","commands":{"allow":["set_size_constraints"],"deny":[]}},"allow-set-skip-taskbar":{"identifier":"allow-set-skip-taskbar","description":"Enables the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":["set_skip_taskbar"],"deny":[]}},"allow-set-theme":{"identifier":"allow-set-theme","description":"Enables the set_theme command without any pre-configured scope.","commands":{"allow":["set_theme"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-title-bar-style":{"identifier":"allow-set-title-bar-style","description":"Enables the set_title_bar_style command without any pre-configured scope.","commands":{"allow":["set_title_bar_style"],"deny":[]}},"allow-set-visible-on-all-workspaces":{"identifier":"allow-set-visible-on-all-workspaces","description":"Enables the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":["set_visible_on_all_workspaces"],"deny":[]}},"allow-show":{"identifier":"allow-show","description":"Enables the show command without any pre-configured scope.","commands":{"allow":["show"],"deny":[]}},"allow-start-dragging":{"identifier":"allow-start-dragging","description":"Enables the start_dragging command without any pre-configured scope.","commands":{"allow":["start_dragging"],"deny":[]}},"allow-start-resize-dragging":{"identifier":"allow-start-resize-dragging","description":"Enables the start_resize_dragging command without any pre-configured scope.","commands":{"allow":["start_resize_dragging"],"deny":[]}},"allow-theme":{"identifier":"allow-theme","description":"Enables the theme command without any pre-configured scope.","commands":{"allow":["theme"],"deny":[]}},"allow-title":{"identifier":"allow-title","description":"Enables the title command without any pre-configured scope.","commands":{"allow":["title"],"deny":[]}},"allow-toggle-maximize":{"identifier":"allow-toggle-maximize","description":"Enables the toggle_maximize command without any pre-configured scope.","commands":{"allow":["toggle_maximize"],"deny":[]}},"allow-unmaximize":{"identifier":"allow-unmaximize","description":"Enables the unmaximize command without any pre-configured scope.","commands":{"allow":["unmaximize"],"deny":[]}},"allow-unminimize":{"identifier":"allow-unminimize","description":"Enables the unminimize command without any pre-configured scope.","commands":{"allow":["unminimize"],"deny":[]}},"deny-activity-name":{"identifier":"deny-activity-name","description":"Denies the activity_name command without any pre-configured scope.","commands":{"allow":[],"deny":["activity_name"]}},"deny-available-monitors":{"identifier":"deny-available-monitors","description":"Denies the available_monitors command without any pre-configured scope.","commands":{"allow":[],"deny":["available_monitors"]}},"deny-center":{"identifier":"deny-center","description":"Denies the center command without any pre-configured scope.","commands":{"allow":[],"deny":["center"]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]}},"deny-current-monitor":{"identifier":"deny-current-monitor","description":"Denies the current_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["current_monitor"]}},"deny-cursor-position":{"identifier":"deny-cursor-position","description":"Denies the cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["cursor_position"]}},"deny-destroy":{"identifier":"deny-destroy","description":"Denies the destroy command without any pre-configured scope.","commands":{"allow":[],"deny":["destroy"]}},"deny-get-all-windows":{"identifier":"deny-get-all-windows","description":"Denies the get_all_windows command without any pre-configured scope.","commands":{"allow":[],"deny":["get_all_windows"]}},"deny-hide":{"identifier":"deny-hide","description":"Denies the hide command without any pre-configured scope.","commands":{"allow":[],"deny":["hide"]}},"deny-inner-position":{"identifier":"deny-inner-position","description":"Denies the inner_position command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_position"]}},"deny-inner-size":{"identifier":"deny-inner-size","description":"Denies the inner_size command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_size"]}},"deny-internal-toggle-maximize":{"identifier":"deny-internal-toggle-maximize","description":"Denies the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_maximize"]}},"deny-is-always-on-top":{"identifier":"deny-is-always-on-top","description":"Denies the is_always_on_top command without any pre-configured scope.","commands":{"allow":[],"deny":["is_always_on_top"]}},"deny-is-closable":{"identifier":"deny-is-closable","description":"Denies the is_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_closable"]}},"deny-is-decorated":{"identifier":"deny-is-decorated","description":"Denies the is_decorated command without any pre-configured scope.","commands":{"allow":[],"deny":["is_decorated"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}},"deny-is-focused":{"identifier":"deny-is-focused","description":"Denies the is_focused command without any pre-configured scope.","commands":{"allow":[],"deny":["is_focused"]}},"deny-is-fullscreen":{"identifier":"deny-is-fullscreen","description":"Denies the is_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["is_fullscreen"]}},"deny-is-maximizable":{"identifier":"deny-is-maximizable","description":"Denies the is_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximizable"]}},"deny-is-maximized":{"identifier":"deny-is-maximized","description":"Denies the is_maximized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximized"]}},"deny-is-minimizable":{"identifier":"deny-is-minimizable","description":"Denies the is_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimizable"]}},"deny-is-minimized":{"identifier":"deny-is-minimized","description":"Denies the is_minimized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimized"]}},"deny-is-resizable":{"identifier":"deny-is-resizable","description":"Denies the is_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_resizable"]}},"deny-is-visible":{"identifier":"deny-is-visible","description":"Denies the is_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["is_visible"]}},"deny-maximize":{"identifier":"deny-maximize","description":"Denies the maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["maximize"]}},"deny-minimize":{"identifier":"deny-minimize","description":"Denies the minimize command without any pre-configured scope.","commands":{"allow":[],"deny":["minimize"]}},"deny-monitor-from-point":{"identifier":"deny-monitor-from-point","description":"Denies the monitor_from_point command without any pre-configured scope.","commands":{"allow":[],"deny":["monitor_from_point"]}},"deny-outer-position":{"identifier":"deny-outer-position","description":"Denies the outer_position command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_position"]}},"deny-outer-size":{"identifier":"deny-outer-size","description":"Denies the outer_size command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_size"]}},"deny-primary-monitor":{"identifier":"deny-primary-monitor","description":"Denies the primary_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["primary_monitor"]}},"deny-request-user-attention":{"identifier":"deny-request-user-attention","description":"Denies the request_user_attention command without any pre-configured scope.","commands":{"allow":[],"deny":["request_user_attention"]}},"deny-scale-factor":{"identifier":"deny-scale-factor","description":"Denies the scale_factor command without any pre-configured scope.","commands":{"allow":[],"deny":["scale_factor"]}},"deny-scene-identifier":{"identifier":"deny-scene-identifier","description":"Denies the scene_identifier command without any pre-configured scope.","commands":{"allow":[],"deny":["scene_identifier"]}},"deny-set-always-on-bottom":{"identifier":"deny-set-always-on-bottom","description":"Denies the set_always_on_bottom command without any pre-configured scope.","commands":{"allow":[],"deny":["set_always_on_bottom"]}},"deny-set-always-on-top":{"identifier":"deny-set-always-on-top","description":"Denies the set_always_on_top command without any pre-configured scope.","commands":{"allow":[],"deny":["set_always_on_top"]}},"deny-set-background-color":{"identifier":"deny-set-background-color","description":"Denies the set_background_color command without any pre-configured scope.","commands":{"allow":[],"deny":["set_background_color"]}},"deny-set-badge-count":{"identifier":"deny-set-badge-count","description":"Denies the set_badge_count command without any pre-configured scope.","commands":{"allow":[],"deny":["set_badge_count"]}},"deny-set-badge-label":{"identifier":"deny-set-badge-label","description":"Denies the set_badge_label command without any pre-configured scope.","commands":{"allow":[],"deny":["set_badge_label"]}},"deny-set-closable":{"identifier":"deny-set-closable","description":"Denies the set_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_closable"]}},"deny-set-content-protected":{"identifier":"deny-set-content-protected","description":"Denies the set_content_protected command without any pre-configured scope.","commands":{"allow":[],"deny":["set_content_protected"]}},"deny-set-cursor-grab":{"identifier":"deny-set-cursor-grab","description":"Denies the set_cursor_grab command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_grab"]}},"deny-set-cursor-icon":{"identifier":"deny-set-cursor-icon","description":"Denies the set_cursor_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_icon"]}},"deny-set-cursor-position":{"identifier":"deny-set-cursor-position","description":"Denies the set_cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_position"]}},"deny-set-cursor-visible":{"identifier":"deny-set-cursor-visible","description":"Denies the set_cursor_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_visible"]}},"deny-set-decorations":{"identifier":"deny-set-decorations","description":"Denies the set_decorations command without any pre-configured scope.","commands":{"allow":[],"deny":["set_decorations"]}},"deny-set-effects":{"identifier":"deny-set-effects","description":"Denies the set_effects command without any pre-configured scope.","commands":{"allow":[],"deny":["set_effects"]}},"deny-set-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]}},"deny-set-focus":{"identifier":"deny-set-focus","description":"Denies the set_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_focus"]}},"deny-set-focusable":{"identifier":"deny-set-focusable","description":"Denies the set_focusable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_focusable"]}},"deny-set-fullscreen":{"identifier":"deny-set-fullscreen","description":"Denies the set_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["set_fullscreen"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-ignore-cursor-events":{"identifier":"deny-set-ignore-cursor-events","description":"Denies the set_ignore_cursor_events command without any pre-configured scope.","commands":{"allow":[],"deny":["set_ignore_cursor_events"]}},"deny-set-max-size":{"identifier":"deny-set-max-size","description":"Denies the set_max_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_max_size"]}},"deny-set-maximizable":{"identifier":"deny-set-maximizable","description":"Denies the set_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_maximizable"]}},"deny-set-min-size":{"identifier":"deny-set-min-size","description":"Denies the set_min_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_min_size"]}},"deny-set-minimizable":{"identifier":"deny-set-minimizable","description":"Denies the set_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_minimizable"]}},"deny-set-overlay-icon":{"identifier":"deny-set-overlay-icon","description":"Denies the set_overlay_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_overlay_icon"]}},"deny-set-position":{"identifier":"deny-set-position","description":"Denies the set_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_position"]}},"deny-set-progress-bar":{"identifier":"deny-set-progress-bar","description":"Denies the set_progress_bar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_progress_bar"]}},"deny-set-resizable":{"identifier":"deny-set-resizable","description":"Denies the set_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_resizable"]}},"deny-set-shadow":{"identifier":"deny-set-shadow","description":"Denies the set_shadow command without any pre-configured scope.","commands":{"allow":[],"deny":["set_shadow"]}},"deny-set-simple-fullscreen":{"identifier":"deny-set-simple-fullscreen","description":"Denies the set_simple_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["set_simple_fullscreen"]}},"deny-set-size":{"identifier":"deny-set-size","description":"Denies the set_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_size"]}},"deny-set-size-constraints":{"identifier":"deny-set-size-constraints","description":"Denies the set_size_constraints command without any pre-configured scope.","commands":{"allow":[],"deny":["set_size_constraints"]}},"deny-set-skip-taskbar":{"identifier":"deny-set-skip-taskbar","description":"Denies the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_skip_taskbar"]}},"deny-set-theme":{"identifier":"deny-set-theme","description":"Denies the set_theme command without any pre-configured scope.","commands":{"allow":[],"deny":["set_theme"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-title-bar-style":{"identifier":"deny-set-title-bar-style","description":"Denies the set_title_bar_style command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title_bar_style"]}},"deny-set-visible-on-all-workspaces":{"identifier":"deny-set-visible-on-all-workspaces","description":"Denies the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible_on_all_workspaces"]}},"deny-show":{"identifier":"deny-show","description":"Denies the show command without any pre-configured scope.","commands":{"allow":[],"deny":["show"]}},"deny-start-dragging":{"identifier":"deny-start-dragging","description":"Denies the start_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_dragging"]}},"deny-start-resize-dragging":{"identifier":"deny-start-resize-dragging","description":"Denies the start_resize_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_resize_dragging"]}},"deny-theme":{"identifier":"deny-theme","description":"Denies the theme command without any pre-configured scope.","commands":{"allow":[],"deny":["theme"]}},"deny-title":{"identifier":"deny-title","description":"Denies the title command without any pre-configured scope.","commands":{"allow":[],"deny":["title"]}},"deny-toggle-maximize":{"identifier":"deny-toggle-maximize","description":"Denies the toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["toggle_maximize"]}},"deny-unmaximize":{"identifier":"deny-unmaximize","description":"Denies the unmaximize command without any pre-configured scope.","commands":{"allow":[],"deny":["unmaximize"]}},"deny-unminimize":{"identifier":"deny-unminimize","description":"Denies the unminimize command without any pre-configured scope.","commands":{"allow":[],"deny":["unminimize"]}}},"permission_sets":{},"global_scope_schema":null},"opener":{"default_permission":{"identifier":"default","description":"This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer","permissions":["allow-open-url","allow-reveal-item-in-dir","allow-default-urls"]},"permissions":{"allow-default-urls":{"identifier":"allow-default-urls","description":"This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"url":"mailto:*"},{"url":"tel:*"},{"url":"http://*"},{"url":"https://*"}]}},"allow-open-path":{"identifier":"allow-open-path","description":"Enables the open_path command without any pre-configured scope.","commands":{"allow":["open_path"],"deny":[]}},"allow-open-url":{"identifier":"allow-open-url","description":"Enables the open_url command without any pre-configured scope.","commands":{"allow":["open_url"],"deny":[]}},"allow-reveal-item-in-dir":{"identifier":"allow-reveal-item-in-dir","description":"Enables the reveal_item_in_dir command without any pre-configured scope.","commands":{"allow":["reveal_item_in_dir"],"deny":[]}},"deny-open-path":{"identifier":"deny-open-path","description":"Denies the open_path command without any pre-configured scope.","commands":{"allow":[],"deny":["open_path"]}},"deny-open-url":{"identifier":"deny-open-url","description":"Denies the open_url command without any pre-configured scope.","commands":{"allow":[],"deny":["open_url"]}},"deny-reveal-item-in-dir":{"identifier":"deny-reveal-item-in-dir","description":"Denies the reveal_item_in_dir command without any pre-configured scope.","commands":{"allow":[],"deny":["reveal_item_in_dir"]}}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"properties":{"app":{"allOf":[{"$ref":"#/definitions/Application"}],"description":"An application to open this url with, for example: firefox."},"url":{"description":"A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"","type":"string"}},"required":["url"],"type":"object"},{"properties":{"app":{"allOf":[{"$ref":"#/definitions/Application"}],"description":"An application to open this path with, for example: xdg-open."},"path":{"description":"A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.","type":"string"}},"required":["path"],"type":"object"}],"definitions":{"Application":{"anyOf":[{"description":"Open in default application.","type":"null"},{"description":"If true, allow open with any application.","type":"boolean"},{"description":"Allow specific application to open with.","type":"string"}],"description":"Opener scope application."}},"description":"Opener scope entry.","title":"OpenerScopeEntry"}},"process":{"default_permission":{"identifier":"default","description":"This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n","permissions":["allow-exit","allow-restart"]},"permissions":{"allow-exit":{"identifier":"allow-exit","description":"Enables the exit command without any pre-configured scope.","commands":{"allow":["exit"],"deny":[]}},"allow-restart":{"identifier":"allow-restart","description":"Enables the restart command without any pre-configured scope.","commands":{"allow":["restart"],"deny":[]}},"deny-exit":{"identifier":"deny-exit","description":"Denies the exit command without any pre-configured scope.","commands":{"allow":[],"deny":["exit"]}},"deny-restart":{"identifier":"deny-restart","description":"Denies the restart command without any pre-configured scope.","commands":{"allow":[],"deny":["restart"]}}},"permission_sets":{},"global_scope_schema":null},"shell":{"default_permission":{"identifier":"default","description":"This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n","permissions":["allow-open"]},"permissions":{"allow-execute":{"identifier":"allow-execute","description":"Enables the execute command without any pre-configured scope.","commands":{"allow":["execute"],"deny":[]}},"allow-kill":{"identifier":"allow-kill","description":"Enables the kill command without any pre-configured scope.","commands":{"allow":["kill"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-spawn":{"identifier":"allow-spawn","description":"Enables the spawn command without any pre-configured scope.","commands":{"allow":["spawn"],"deny":[]}},"allow-stdin-write":{"identifier":"allow-stdin-write","description":"Enables the stdin_write command without any pre-configured scope.","commands":{"allow":["stdin_write"],"deny":[]}},"deny-execute":{"identifier":"deny-execute","description":"Denies the execute command without any pre-configured scope.","commands":{"allow":[],"deny":["execute"]}},"deny-kill":{"identifier":"deny-kill","description":"Denies the kill command without any pre-configured scope.","commands":{"allow":[],"deny":["kill"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-spawn":{"identifier":"deny-spawn","description":"Denies the spawn command without any pre-configured scope.","commands":{"allow":[],"deny":["spawn"]}},"deny-stdin-write":{"identifier":"deny-stdin-write","description":"Denies the stdin_write command without any pre-configured scope.","commands":{"allow":[],"deny":["stdin_write"]}}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"additionalProperties":false,"properties":{"args":{"allOf":[{"$ref":"#/definitions/ShellScopeEntryAllowedArgs"}],"description":"The allowed arguments for the command execution."},"cmd":{"description":"The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.","type":"string"},"name":{"description":"The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.","type":"string"}},"required":["cmd","name"],"type":"object"},{"additionalProperties":false,"properties":{"args":{"allOf":[{"$ref":"#/definitions/ShellScopeEntryAllowedArgs"}],"description":"The allowed arguments for the command execution."},"name":{"description":"The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.","type":"string"},"sidecar":{"description":"If this command is a sidecar command.","type":"boolean"}},"required":["name","sidecar"],"type":"object"}],"definitions":{"ShellScopeEntryAllowedArg":{"anyOf":[{"description":"A non-configurable argument that is passed to the command in the order it was specified.","type":"string"},{"additionalProperties":false,"description":"A variable that is set while calling the command from the webview API.","properties":{"raw":{"default":false,"description":"Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.","type":"boolean"},"validator":{"description":"[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: ","type":"string"}},"required":["validator"],"type":"object"}],"description":"A command argument allowed to be executed by the webview API."},"ShellScopeEntryAllowedArgs":{"anyOf":[{"description":"Use a simple boolean to allow all or disable all arguments to this command configuration.","type":"boolean"},{"description":"A specific set of [`ShellScopeEntryAllowedArg`] that are valid to call for the command configuration.","items":{"$ref":"#/definitions/ShellScopeEntryAllowedArg"},"type":"array"}],"description":"A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellScopeEntryAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration."}},"description":"Shell scope entry.","title":"ShellScopeEntry"}}} \ No newline at end of file diff --git a/src-tauri/gen/schemas/capabilities.json b/src-tauri/gen/schemas/capabilities.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/src-tauri/gen/schemas/capabilities.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src-tauri/gen/schemas/desktop-schema.json b/src-tauri/gen/schemas/desktop-schema.json new file mode 100644 index 0000000..a04925e --- /dev/null +++ b/src-tauri/gen/schemas/desktop-schema.json @@ -0,0 +1,2875 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "CapabilityFile", + "description": "Capability formats accepted in a capability file.", + "anyOf": [ + { + "description": "A single capability.", + "allOf": [ + { + "$ref": "#/definitions/Capability" + } + ] + }, + { + "description": "A list of capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + }, + { + "description": "A list of capabilities.", + "type": "object", + "required": [ + "capabilities" + ], + "properties": { + "capabilities": { + "description": "The list of capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + } + } + } + ], + "definitions": { + "Capability": { + "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows' and webviews' fine grained access to the Tauri core, application, or plugin commands. If a webview or its window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, ], \"platforms\": [\"macOS\",\"windows\"] } ```", + "type": "object", + "required": [ + "identifier", + "permissions" + ], + "properties": { + "identifier": { + "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", + "type": "string" + }, + "description": { + "description": "Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.", + "default": "", + "type": "string" + }, + "remote": { + "description": "Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```", + "anyOf": [ + { + "$ref": "#/definitions/CapabilityRemote" + }, + { + "type": "null" + } + ] + }, + "local": { + "description": "Whether this capability is enabled for local app URLs or not. Defaults to `true`.", + "default": true, + "type": "boolean" + }, + "windows": { + "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nIf a window label matches any of the patterns in this list, the capability will be enabled on all the webviews of that window, regardless of the value of [`Self::webviews`].\n\nOn multiwebview windows, prefer specifying [`Self::webviews`] and omitting [`Self::windows`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", + "type": "array", + "items": { + "type": "string" + } + }, + "webviews": { + "description": "List of webviews that are affected by this capability. Can be a glob pattern.\n\nThe capability will be enabled on all the webviews whose label matches any of the patterns in this list, regardless of whether the webview's window label matches a pattern in [`Self::windows`].\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", + "type": "array", + "items": { + "type": "string" + } + }, + "permissions": { + "description": "List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ] ```", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionEntry" + }, + "uniqueItems": true + }, + "platforms": { + "description": "Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Target" + } + } + } + }, + "CapabilityRemote": { + "description": "Configuration for remote URLs that are associated with the capability.", + "type": "object", + "required": [ + "urls" + ], + "properties": { + "urls": { + "description": "Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PermissionEntry": { + "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", + "anyOf": [ + { + "description": "Reference a permission or permission set by identifier.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + }, + { + "description": "Reference a permission or permission set by identifier and extends its scope.", + "type": "object", + "allOf": [ + { + "if": { + "properties": { + "identifier": { + "anyOf": [ + { + "description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", + "type": "string", + "const": "opener:default", + "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" + }, + { + "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", + "type": "string", + "const": "opener:allow-default-urls", + "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." + }, + { + "description": "Enables the open_path command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-open-path", + "markdownDescription": "Enables the open_path command without any pre-configured scope." + }, + { + "description": "Enables the open_url command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-open-url", + "markdownDescription": "Enables the open_url command without any pre-configured scope." + }, + { + "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-reveal-item-in-dir", + "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." + }, + { + "description": "Denies the open_path command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-open-path", + "markdownDescription": "Denies the open_path command without any pre-configured scope." + }, + { + "description": "Denies the open_url command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-open-url", + "markdownDescription": "Denies the open_url command without any pre-configured scope." + }, + { + "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-reveal-item-in-dir", + "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." + } + ] + } + } + }, + "then": { + "properties": { + "allow": { + "items": { + "title": "OpenerScopeEntry", + "description": "Opener scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "url" + ], + "properties": { + "app": { + "description": "An application to open this url with, for example: firefox.", + "allOf": [ + { + "$ref": "#/definitions/Application" + } + ] + }, + "url": { + "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + } + } + }, + { + "type": "object", + "required": [ + "path" + ], + "properties": { + "app": { + "description": "An application to open this path with, for example: xdg-open.", + "allOf": [ + { + "$ref": "#/definitions/Application" + } + ] + }, + "path": { + "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", + "type": "string" + } + } + } + ] + } + }, + "deny": { + "items": { + "title": "OpenerScopeEntry", + "description": "Opener scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "url" + ], + "properties": { + "app": { + "description": "An application to open this url with, for example: firefox.", + "allOf": [ + { + "$ref": "#/definitions/Application" + } + ] + }, + "url": { + "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + } + } + }, + { + "type": "object", + "required": [ + "path" + ], + "properties": { + "app": { + "description": "An application to open this path with, for example: xdg-open.", + "allOf": [ + { + "$ref": "#/definitions/Application" + } + ] + }, + "path": { + "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", + "type": "string" + } + } + } + ] + } + } + } + }, + "properties": { + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + } + } + }, + { + "if": { + "properties": { + "identifier": { + "anyOf": [ + { + "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`", + "type": "string", + "const": "shell:default", + "markdownDescription": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`" + }, + { + "description": "Enables the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-execute", + "markdownDescription": "Enables the execute command without any pre-configured scope." + }, + { + "description": "Enables the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-kill", + "markdownDescription": "Enables the kill command without any pre-configured scope." + }, + { + "description": "Enables the open command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-open", + "markdownDescription": "Enables the open command without any pre-configured scope." + }, + { + "description": "Enables the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-spawn", + "markdownDescription": "Enables the spawn command without any pre-configured scope." + }, + { + "description": "Enables the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-stdin-write", + "markdownDescription": "Enables the stdin_write command without any pre-configured scope." + }, + { + "description": "Denies the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-execute", + "markdownDescription": "Denies the execute command without any pre-configured scope." + }, + { + "description": "Denies the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-kill", + "markdownDescription": "Denies the kill command without any pre-configured scope." + }, + { + "description": "Denies the open command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-open", + "markdownDescription": "Denies the open command without any pre-configured scope." + }, + { + "description": "Denies the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-spawn", + "markdownDescription": "Denies the spawn command without any pre-configured scope." + }, + { + "description": "Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-stdin-write", + "markdownDescription": "Denies the stdin_write command without any pre-configured scope." + } + ] + } + } + }, + "then": { + "properties": { + "allow": { + "items": { + "title": "ShellScopeEntry", + "description": "Shell scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "cmd", + "name" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "cmd": { + "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", + "type": "string" + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "name", + "sidecar" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + }, + "sidecar": { + "description": "If this command is a sidecar command.", + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + }, + "deny": { + "items": { + "title": "ShellScopeEntry", + "description": "Shell scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "cmd", + "name" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "cmd": { + "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", + "type": "string" + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "name", + "sidecar" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + }, + "sidecar": { + "description": "If this command is a sidecar command.", + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + } + } + }, + "properties": { + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + } + } + }, + { + "properties": { + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + }, + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope. This should be prioritized by validation logic.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + } + ], + "required": [ + "identifier" + ] + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ + { + "description": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`", + "type": "string", + "const": "core:default", + "markdownDescription": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`" + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`\n- `allow-supports-multiple-windows`", + "type": "string", + "const": "core:app:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`\n- `allow-supports-multiple-windows`" + }, + { + "description": "Enables the app_hide command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-app-hide", + "markdownDescription": "Enables the app_hide command without any pre-configured scope." + }, + { + "description": "Enables the app_show command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-app-show", + "markdownDescription": "Enables the app_show command without any pre-configured scope." + }, + { + "description": "Enables the bundle_type command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-bundle-type", + "markdownDescription": "Enables the bundle_type command without any pre-configured scope." + }, + { + "description": "Enables the default_window_icon command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-default-window-icon", + "markdownDescription": "Enables the default_window_icon command without any pre-configured scope." + }, + { + "description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-fetch-data-store-identifiers", + "markdownDescription": "Enables the fetch_data_store_identifiers command without any pre-configured scope." + }, + { + "description": "Enables the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-identifier", + "markdownDescription": "Enables the identifier command without any pre-configured scope." + }, + { + "description": "Enables the name command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-name", + "markdownDescription": "Enables the name command without any pre-configured scope." + }, + { + "description": "Enables the register_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-register-listener", + "markdownDescription": "Enables the register_listener command without any pre-configured scope." + }, + { + "description": "Enables the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-remove-data-store", + "markdownDescription": "Enables the remove_data_store command without any pre-configured scope." + }, + { + "description": "Enables the remove_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-remove-listener", + "markdownDescription": "Enables the remove_listener command without any pre-configured scope." + }, + { + "description": "Enables the set_app_theme command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-set-app-theme", + "markdownDescription": "Enables the set_app_theme command without any pre-configured scope." + }, + { + "description": "Enables the set_dock_visibility command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-set-dock-visibility", + "markdownDescription": "Enables the set_dock_visibility command without any pre-configured scope." + }, + { + "description": "Enables the supports_multiple_windows command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-supports-multiple-windows", + "markdownDescription": "Enables the supports_multiple_windows command without any pre-configured scope." + }, + { + "description": "Enables the tauri_version command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-tauri-version", + "markdownDescription": "Enables the tauri_version command without any pre-configured scope." + }, + { + "description": "Enables the version command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-version", + "markdownDescription": "Enables the version command without any pre-configured scope." + }, + { + "description": "Denies the app_hide command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-app-hide", + "markdownDescription": "Denies the app_hide command without any pre-configured scope." + }, + { + "description": "Denies the app_show command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-app-show", + "markdownDescription": "Denies the app_show command without any pre-configured scope." + }, + { + "description": "Denies the bundle_type command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-bundle-type", + "markdownDescription": "Denies the bundle_type command without any pre-configured scope." + }, + { + "description": "Denies the default_window_icon command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-default-window-icon", + "markdownDescription": "Denies the default_window_icon command without any pre-configured scope." + }, + { + "description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-fetch-data-store-identifiers", + "markdownDescription": "Denies the fetch_data_store_identifiers command without any pre-configured scope." + }, + { + "description": "Denies the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-identifier", + "markdownDescription": "Denies the identifier command without any pre-configured scope." + }, + { + "description": "Denies the name command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-name", + "markdownDescription": "Denies the name command without any pre-configured scope." + }, + { + "description": "Denies the register_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-register-listener", + "markdownDescription": "Denies the register_listener command without any pre-configured scope." + }, + { + "description": "Denies the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-remove-data-store", + "markdownDescription": "Denies the remove_data_store command without any pre-configured scope." + }, + { + "description": "Denies the remove_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-remove-listener", + "markdownDescription": "Denies the remove_listener command without any pre-configured scope." + }, + { + "description": "Denies the set_app_theme command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-set-app-theme", + "markdownDescription": "Denies the set_app_theme command without any pre-configured scope." + }, + { + "description": "Denies the set_dock_visibility command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-set-dock-visibility", + "markdownDescription": "Denies the set_dock_visibility command without any pre-configured scope." + }, + { + "description": "Denies the supports_multiple_windows command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-supports-multiple-windows", + "markdownDescription": "Denies the supports_multiple_windows command without any pre-configured scope." + }, + { + "description": "Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-tauri-version", + "markdownDescription": "Denies the tauri_version command without any pre-configured scope." + }, + { + "description": "Denies the version command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-version", + "markdownDescription": "Denies the version command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`", + "type": "string", + "const": "core:event:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`" + }, + { + "description": "Enables the emit command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-emit", + "markdownDescription": "Enables the emit command without any pre-configured scope." + }, + { + "description": "Enables the emit_to command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-emit-to", + "markdownDescription": "Enables the emit_to command without any pre-configured scope." + }, + { + "description": "Enables the listen command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-listen", + "markdownDescription": "Enables the listen command without any pre-configured scope." + }, + { + "description": "Enables the unlisten command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-unlisten", + "markdownDescription": "Enables the unlisten command without any pre-configured scope." + }, + { + "description": "Denies the emit command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-emit", + "markdownDescription": "Denies the emit command without any pre-configured scope." + }, + { + "description": "Denies the emit_to command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-emit-to", + "markdownDescription": "Denies the emit_to command without any pre-configured scope." + }, + { + "description": "Denies the listen command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-listen", + "markdownDescription": "Denies the listen command without any pre-configured scope." + }, + { + "description": "Denies the unlisten command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-unlisten", + "markdownDescription": "Denies the unlisten command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`", + "type": "string", + "const": "core:image:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`" + }, + { + "description": "Enables the from_bytes command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-from-bytes", + "markdownDescription": "Enables the from_bytes command without any pre-configured scope." + }, + { + "description": "Enables the from_path command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-from-path", + "markdownDescription": "Enables the from_path command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the rgba command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-rgba", + "markdownDescription": "Enables the rgba command without any pre-configured scope." + }, + { + "description": "Enables the size command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-size", + "markdownDescription": "Enables the size command without any pre-configured scope." + }, + { + "description": "Denies the from_bytes command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-from-bytes", + "markdownDescription": "Denies the from_bytes command without any pre-configured scope." + }, + { + "description": "Denies the from_path command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-from-path", + "markdownDescription": "Denies the from_path command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the rgba command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-rgba", + "markdownDescription": "Denies the rgba command without any pre-configured scope." + }, + { + "description": "Denies the size command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-size", + "markdownDescription": "Denies the size command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`", + "type": "string", + "const": "core:menu:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`" + }, + { + "description": "Enables the append command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-append", + "markdownDescription": "Enables the append command without any pre-configured scope." + }, + { + "description": "Enables the create_default command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-create-default", + "markdownDescription": "Enables the create_default command without any pre-configured scope." + }, + { + "description": "Enables the get command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-get", + "markdownDescription": "Enables the get command without any pre-configured scope." + }, + { + "description": "Enables the insert command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-insert", + "markdownDescription": "Enables the insert command without any pre-configured scope." + }, + { + "description": "Enables the is_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-is-checked", + "markdownDescription": "Enables the is_checked command without any pre-configured scope." + }, + { + "description": "Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-is-enabled", + "markdownDescription": "Enables the is_enabled command without any pre-configured scope." + }, + { + "description": "Enables the items command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-items", + "markdownDescription": "Enables the items command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the popup command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-popup", + "markdownDescription": "Enables the popup command without any pre-configured scope." + }, + { + "description": "Enables the prepend command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-prepend", + "markdownDescription": "Enables the prepend command without any pre-configured scope." + }, + { + "description": "Enables the remove command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-remove", + "markdownDescription": "Enables the remove command without any pre-configured scope." + }, + { + "description": "Enables the remove_at command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-remove-at", + "markdownDescription": "Enables the remove_at command without any pre-configured scope." + }, + { + "description": "Enables the set_accelerator command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-accelerator", + "markdownDescription": "Enables the set_accelerator command without any pre-configured scope." + }, + { + "description": "Enables the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-app-menu", + "markdownDescription": "Enables the set_as_app_menu command without any pre-configured scope." + }, + { + "description": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-help-menu-for-nsapp", + "markdownDescription": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Enables the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-window-menu", + "markdownDescription": "Enables the set_as_window_menu command without any pre-configured scope." + }, + { + "description": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-windows-menu-for-nsapp", + "markdownDescription": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Enables the set_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-checked", + "markdownDescription": "Enables the set_checked command without any pre-configured scope." + }, + { + "description": "Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-enabled", + "markdownDescription": "Enables the set_enabled command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-text", + "markdownDescription": "Enables the set_text command without any pre-configured scope." + }, + { + "description": "Enables the text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-text", + "markdownDescription": "Enables the text command without any pre-configured scope." + }, + { + "description": "Denies the append command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-append", + "markdownDescription": "Denies the append command without any pre-configured scope." + }, + { + "description": "Denies the create_default command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-create-default", + "markdownDescription": "Denies the create_default command without any pre-configured scope." + }, + { + "description": "Denies the get command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-get", + "markdownDescription": "Denies the get command without any pre-configured scope." + }, + { + "description": "Denies the insert command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-insert", + "markdownDescription": "Denies the insert command without any pre-configured scope." + }, + { + "description": "Denies the is_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-is-checked", + "markdownDescription": "Denies the is_checked command without any pre-configured scope." + }, + { + "description": "Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-is-enabled", + "markdownDescription": "Denies the is_enabled command without any pre-configured scope." + }, + { + "description": "Denies the items command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-items", + "markdownDescription": "Denies the items command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the popup command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-popup", + "markdownDescription": "Denies the popup command without any pre-configured scope." + }, + { + "description": "Denies the prepend command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-prepend", + "markdownDescription": "Denies the prepend command without any pre-configured scope." + }, + { + "description": "Denies the remove command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-remove", + "markdownDescription": "Denies the remove command without any pre-configured scope." + }, + { + "description": "Denies the remove_at command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-remove-at", + "markdownDescription": "Denies the remove_at command without any pre-configured scope." + }, + { + "description": "Denies the set_accelerator command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-accelerator", + "markdownDescription": "Denies the set_accelerator command without any pre-configured scope." + }, + { + "description": "Denies the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-app-menu", + "markdownDescription": "Denies the set_as_app_menu command without any pre-configured scope." + }, + { + "description": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-help-menu-for-nsapp", + "markdownDescription": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Denies the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-window-menu", + "markdownDescription": "Denies the set_as_window_menu command without any pre-configured scope." + }, + { + "description": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-windows-menu-for-nsapp", + "markdownDescription": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Denies the set_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-checked", + "markdownDescription": "Denies the set_checked command without any pre-configured scope." + }, + { + "description": "Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-enabled", + "markdownDescription": "Denies the set_enabled command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-text", + "markdownDescription": "Denies the set_text command without any pre-configured scope." + }, + { + "description": "Denies the text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-text", + "markdownDescription": "Denies the text command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`", + "type": "string", + "const": "core:path:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`" + }, + { + "description": "Enables the basename command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-basename", + "markdownDescription": "Enables the basename command without any pre-configured scope." + }, + { + "description": "Enables the dirname command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-dirname", + "markdownDescription": "Enables the dirname command without any pre-configured scope." + }, + { + "description": "Enables the extname command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-extname", + "markdownDescription": "Enables the extname command without any pre-configured scope." + }, + { + "description": "Enables the is_absolute command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-is-absolute", + "markdownDescription": "Enables the is_absolute command without any pre-configured scope." + }, + { + "description": "Enables the join command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-join", + "markdownDescription": "Enables the join command without any pre-configured scope." + }, + { + "description": "Enables the normalize command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-normalize", + "markdownDescription": "Enables the normalize command without any pre-configured scope." + }, + { + "description": "Enables the resolve command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-resolve", + "markdownDescription": "Enables the resolve command without any pre-configured scope." + }, + { + "description": "Enables the resolve_directory command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-resolve-directory", + "markdownDescription": "Enables the resolve_directory command without any pre-configured scope." + }, + { + "description": "Denies the basename command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-basename", + "markdownDescription": "Denies the basename command without any pre-configured scope." + }, + { + "description": "Denies the dirname command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-dirname", + "markdownDescription": "Denies the dirname command without any pre-configured scope." + }, + { + "description": "Denies the extname command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-extname", + "markdownDescription": "Denies the extname command without any pre-configured scope." + }, + { + "description": "Denies the is_absolute command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-is-absolute", + "markdownDescription": "Denies the is_absolute command without any pre-configured scope." + }, + { + "description": "Denies the join command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-join", + "markdownDescription": "Denies the join command without any pre-configured scope." + }, + { + "description": "Denies the normalize command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-normalize", + "markdownDescription": "Denies the normalize command without any pre-configured scope." + }, + { + "description": "Denies the resolve command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-resolve", + "markdownDescription": "Denies the resolve command without any pre-configured scope." + }, + { + "description": "Denies the resolve_directory command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-resolve-directory", + "markdownDescription": "Denies the resolve_directory command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`", + "type": "string", + "const": "core:resources:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`" + }, + { + "description": "Enables the close command without any pre-configured scope.", + "type": "string", + "const": "core:resources:allow-close", + "markdownDescription": "Enables the close command without any pre-configured scope." + }, + { + "description": "Denies the close command without any pre-configured scope.", + "type": "string", + "const": "core:resources:deny-close", + "markdownDescription": "Denies the close command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-icon-with-as-template`\n- `allow-set-show-menu-on-left-click`", + "type": "string", + "const": "core:tray:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-icon-with-as-template`\n- `allow-set-show-menu-on-left-click`" + }, + { + "description": "Enables the get_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-get-by-id", + "markdownDescription": "Enables the get_by_id command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the remove_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-remove-by-id", + "markdownDescription": "Enables the remove_by_id command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon-as-template", + "markdownDescription": "Enables the set_icon_as_template command without any pre-configured scope." + }, + { + "description": "Enables the set_icon_with_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon-with-as-template", + "markdownDescription": "Enables the set_icon_with_as_template command without any pre-configured scope." + }, + { + "description": "Enables the set_menu command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-menu", + "markdownDescription": "Enables the set_menu command without any pre-configured scope." + }, + { + "description": "Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-show-menu-on-left-click", + "markdownDescription": "Enables the set_show_menu_on_left_click command without any pre-configured scope." + }, + { + "description": "Enables the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-temp-dir-path", + "markdownDescription": "Enables the set_temp_dir_path command without any pre-configured scope." + }, + { + "description": "Enables the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-title", + "markdownDescription": "Enables the set_title command without any pre-configured scope." + }, + { + "description": "Enables the set_tooltip command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-tooltip", + "markdownDescription": "Enables the set_tooltip command without any pre-configured scope." + }, + { + "description": "Enables the set_visible command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-visible", + "markdownDescription": "Enables the set_visible command without any pre-configured scope." + }, + { + "description": "Denies the get_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-get-by-id", + "markdownDescription": "Denies the get_by_id command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the remove_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-remove-by-id", + "markdownDescription": "Denies the remove_by_id command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon-as-template", + "markdownDescription": "Denies the set_icon_as_template command without any pre-configured scope." + }, + { + "description": "Denies the set_icon_with_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon-with-as-template", + "markdownDescription": "Denies the set_icon_with_as_template command without any pre-configured scope." + }, + { + "description": "Denies the set_menu command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-menu", + "markdownDescription": "Denies the set_menu command without any pre-configured scope." + }, + { + "description": "Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-show-menu-on-left-click", + "markdownDescription": "Denies the set_show_menu_on_left_click command without any pre-configured scope." + }, + { + "description": "Denies the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-temp-dir-path", + "markdownDescription": "Denies the set_temp_dir_path command without any pre-configured scope." + }, + { + "description": "Denies the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-title", + "markdownDescription": "Denies the set_title command without any pre-configured scope." + }, + { + "description": "Denies the set_tooltip command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-tooltip", + "markdownDescription": "Denies the set_tooltip command without any pre-configured scope." + }, + { + "description": "Denies the set_visible command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-visible", + "markdownDescription": "Denies the set_visible command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`", + "type": "string", + "const": "core:webview:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`" + }, + { + "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-clear-all-browsing-data", + "markdownDescription": "Enables the clear_all_browsing_data command without any pre-configured scope." + }, + { + "description": "Enables the create_webview command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-create-webview", + "markdownDescription": "Enables the create_webview command without any pre-configured scope." + }, + { + "description": "Enables the create_webview_window command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-create-webview-window", + "markdownDescription": "Enables the create_webview_window command without any pre-configured scope." + }, + { + "description": "Enables the get_all_webviews command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-get-all-webviews", + "markdownDescription": "Enables the get_all_webviews command without any pre-configured scope." + }, + { + "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-internal-toggle-devtools", + "markdownDescription": "Enables the internal_toggle_devtools command without any pre-configured scope." + }, + { + "description": "Enables the print command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-print", + "markdownDescription": "Enables the print command without any pre-configured scope." + }, + { + "description": "Enables the reparent command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-reparent", + "markdownDescription": "Enables the reparent command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_auto_resize command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-auto-resize", + "markdownDescription": "Enables the set_webview_auto_resize command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-background-color", + "markdownDescription": "Enables the set_webview_background_color command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_focus command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-focus", + "markdownDescription": "Enables the set_webview_focus command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-position", + "markdownDescription": "Enables the set_webview_position command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-size", + "markdownDescription": "Enables the set_webview_size command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_zoom command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-zoom", + "markdownDescription": "Enables the set_webview_zoom command without any pre-configured scope." + }, + { + "description": "Enables the webview_close command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-close", + "markdownDescription": "Enables the webview_close command without any pre-configured scope." + }, + { + "description": "Enables the webview_hide command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-hide", + "markdownDescription": "Enables the webview_hide command without any pre-configured scope." + }, + { + "description": "Enables the webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-position", + "markdownDescription": "Enables the webview_position command without any pre-configured scope." + }, + { + "description": "Enables the webview_show command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-show", + "markdownDescription": "Enables the webview_show command without any pre-configured scope." + }, + { + "description": "Enables the webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-size", + "markdownDescription": "Enables the webview_size command without any pre-configured scope." + }, + { + "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-clear-all-browsing-data", + "markdownDescription": "Denies the clear_all_browsing_data command without any pre-configured scope." + }, + { + "description": "Denies the create_webview command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-create-webview", + "markdownDescription": "Denies the create_webview command without any pre-configured scope." + }, + { + "description": "Denies the create_webview_window command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-create-webview-window", + "markdownDescription": "Denies the create_webview_window command without any pre-configured scope." + }, + { + "description": "Denies the get_all_webviews command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-get-all-webviews", + "markdownDescription": "Denies the get_all_webviews command without any pre-configured scope." + }, + { + "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-internal-toggle-devtools", + "markdownDescription": "Denies the internal_toggle_devtools command without any pre-configured scope." + }, + { + "description": "Denies the print command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-print", + "markdownDescription": "Denies the print command without any pre-configured scope." + }, + { + "description": "Denies the reparent command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-reparent", + "markdownDescription": "Denies the reparent command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_auto_resize command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-auto-resize", + "markdownDescription": "Denies the set_webview_auto_resize command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-background-color", + "markdownDescription": "Denies the set_webview_background_color command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_focus command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-focus", + "markdownDescription": "Denies the set_webview_focus command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-position", + "markdownDescription": "Denies the set_webview_position command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-size", + "markdownDescription": "Denies the set_webview_size command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_zoom command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-zoom", + "markdownDescription": "Denies the set_webview_zoom command without any pre-configured scope." + }, + { + "description": "Denies the webview_close command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-close", + "markdownDescription": "Denies the webview_close command without any pre-configured scope." + }, + { + "description": "Denies the webview_hide command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-hide", + "markdownDescription": "Denies the webview_hide command without any pre-configured scope." + }, + { + "description": "Denies the webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-position", + "markdownDescription": "Denies the webview_position command without any pre-configured scope." + }, + { + "description": "Denies the webview_show command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-show", + "markdownDescription": "Denies the webview_show command without any pre-configured scope." + }, + { + "description": "Denies the webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-size", + "markdownDescription": "Denies the webview_size command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-activity-name`\n- `allow-scene-identifier`\n- `allow-internal-toggle-maximize`", + "type": "string", + "const": "core:window:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-activity-name`\n- `allow-scene-identifier`\n- `allow-internal-toggle-maximize`" + }, + { + "description": "Enables the activity_name command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-activity-name", + "markdownDescription": "Enables the activity_name command without any pre-configured scope." + }, + { + "description": "Enables the available_monitors command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-available-monitors", + "markdownDescription": "Enables the available_monitors command without any pre-configured scope." + }, + { + "description": "Enables the center command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-center", + "markdownDescription": "Enables the center command without any pre-configured scope." + }, + { + "description": "Enables the close command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-close", + "markdownDescription": "Enables the close command without any pre-configured scope." + }, + { + "description": "Enables the create command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-create", + "markdownDescription": "Enables the create command without any pre-configured scope." + }, + { + "description": "Enables the current_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-current-monitor", + "markdownDescription": "Enables the current_monitor command without any pre-configured scope." + }, + { + "description": "Enables the cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-cursor-position", + "markdownDescription": "Enables the cursor_position command without any pre-configured scope." + }, + { + "description": "Enables the destroy command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-destroy", + "markdownDescription": "Enables the destroy command without any pre-configured scope." + }, + { + "description": "Enables the get_all_windows command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-get-all-windows", + "markdownDescription": "Enables the get_all_windows command without any pre-configured scope." + }, + { + "description": "Enables the hide command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-hide", + "markdownDescription": "Enables the hide command without any pre-configured scope." + }, + { + "description": "Enables the inner_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-inner-position", + "markdownDescription": "Enables the inner_position command without any pre-configured scope." + }, + { + "description": "Enables the inner_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-inner-size", + "markdownDescription": "Enables the inner_size command without any pre-configured scope." + }, + { + "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-internal-toggle-maximize", + "markdownDescription": "Enables the internal_toggle_maximize command without any pre-configured scope." + }, + { + "description": "Enables the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-always-on-top", + "markdownDescription": "Enables the is_always_on_top command without any pre-configured scope." + }, + { + "description": "Enables the is_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-closable", + "markdownDescription": "Enables the is_closable command without any pre-configured scope." + }, + { + "description": "Enables the is_decorated command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-decorated", + "markdownDescription": "Enables the is_decorated command without any pre-configured scope." + }, + { + "description": "Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-enabled", + "markdownDescription": "Enables the is_enabled command without any pre-configured scope." + }, + { + "description": "Enables the is_focused command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-focused", + "markdownDescription": "Enables the is_focused command without any pre-configured scope." + }, + { + "description": "Enables the is_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-fullscreen", + "markdownDescription": "Enables the is_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the is_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-maximizable", + "markdownDescription": "Enables the is_maximizable command without any pre-configured scope." + }, + { + "description": "Enables the is_maximized command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-maximized", + "markdownDescription": "Enables the is_maximized command without any pre-configured scope." + }, + { + "description": "Enables the is_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-minimizable", + "markdownDescription": "Enables the is_minimizable command without any pre-configured scope." + }, + { + "description": "Enables the is_minimized command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-minimized", + "markdownDescription": "Enables the is_minimized command without any pre-configured scope." + }, + { + "description": "Enables the is_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-resizable", + "markdownDescription": "Enables the is_resizable command without any pre-configured scope." + }, + { + "description": "Enables the is_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-visible", + "markdownDescription": "Enables the is_visible command without any pre-configured scope." + }, + { + "description": "Enables the maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-maximize", + "markdownDescription": "Enables the maximize command without any pre-configured scope." + }, + { + "description": "Enables the minimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-minimize", + "markdownDescription": "Enables the minimize command without any pre-configured scope." + }, + { + "description": "Enables the monitor_from_point command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-monitor-from-point", + "markdownDescription": "Enables the monitor_from_point command without any pre-configured scope." + }, + { + "description": "Enables the outer_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-outer-position", + "markdownDescription": "Enables the outer_position command without any pre-configured scope." + }, + { + "description": "Enables the outer_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-outer-size", + "markdownDescription": "Enables the outer_size command without any pre-configured scope." + }, + { + "description": "Enables the primary_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-primary-monitor", + "markdownDescription": "Enables the primary_monitor command without any pre-configured scope." + }, + { + "description": "Enables the request_user_attention command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-request-user-attention", + "markdownDescription": "Enables the request_user_attention command without any pre-configured scope." + }, + { + "description": "Enables the scale_factor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-scale-factor", + "markdownDescription": "Enables the scale_factor command without any pre-configured scope." + }, + { + "description": "Enables the scene_identifier command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-scene-identifier", + "markdownDescription": "Enables the scene_identifier command without any pre-configured scope." + }, + { + "description": "Enables the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-always-on-bottom", + "markdownDescription": "Enables the set_always_on_bottom command without any pre-configured scope." + }, + { + "description": "Enables the set_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-always-on-top", + "markdownDescription": "Enables the set_always_on_top command without any pre-configured scope." + }, + { + "description": "Enables the set_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-background-color", + "markdownDescription": "Enables the set_background_color command without any pre-configured scope." + }, + { + "description": "Enables the set_badge_count command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-badge-count", + "markdownDescription": "Enables the set_badge_count command without any pre-configured scope." + }, + { + "description": "Enables the set_badge_label command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-badge-label", + "markdownDescription": "Enables the set_badge_label command without any pre-configured scope." + }, + { + "description": "Enables the set_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-closable", + "markdownDescription": "Enables the set_closable command without any pre-configured scope." + }, + { + "description": "Enables the set_content_protected command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-content-protected", + "markdownDescription": "Enables the set_content_protected command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-grab", + "markdownDescription": "Enables the set_cursor_grab command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-icon", + "markdownDescription": "Enables the set_cursor_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-position", + "markdownDescription": "Enables the set_cursor_position command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-visible", + "markdownDescription": "Enables the set_cursor_visible command without any pre-configured scope." + }, + { + "description": "Enables the set_decorations command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-decorations", + "markdownDescription": "Enables the set_decorations command without any pre-configured scope." + }, + { + "description": "Enables the set_effects command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-effects", + "markdownDescription": "Enables the set_effects command without any pre-configured scope." + }, + { + "description": "Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-enabled", + "markdownDescription": "Enables the set_enabled command without any pre-configured scope." + }, + { + "description": "Enables the set_focus command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-focus", + "markdownDescription": "Enables the set_focus command without any pre-configured scope." + }, + { + "description": "Enables the set_focusable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-focusable", + "markdownDescription": "Enables the set_focusable command without any pre-configured scope." + }, + { + "description": "Enables the set_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-fullscreen", + "markdownDescription": "Enables the set_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-ignore-cursor-events", + "markdownDescription": "Enables the set_ignore_cursor_events command without any pre-configured scope." + }, + { + "description": "Enables the set_max_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-max-size", + "markdownDescription": "Enables the set_max_size command without any pre-configured scope." + }, + { + "description": "Enables the set_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-maximizable", + "markdownDescription": "Enables the set_maximizable command without any pre-configured scope." + }, + { + "description": "Enables the set_min_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-min-size", + "markdownDescription": "Enables the set_min_size command without any pre-configured scope." + }, + { + "description": "Enables the set_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-minimizable", + "markdownDescription": "Enables the set_minimizable command without any pre-configured scope." + }, + { + "description": "Enables the set_overlay_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-overlay-icon", + "markdownDescription": "Enables the set_overlay_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-position", + "markdownDescription": "Enables the set_position command without any pre-configured scope." + }, + { + "description": "Enables the set_progress_bar command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-progress-bar", + "markdownDescription": "Enables the set_progress_bar command without any pre-configured scope." + }, + { + "description": "Enables the set_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-resizable", + "markdownDescription": "Enables the set_resizable command without any pre-configured scope." + }, + { + "description": "Enables the set_shadow command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-shadow", + "markdownDescription": "Enables the set_shadow command without any pre-configured scope." + }, + { + "description": "Enables the set_simple_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-simple-fullscreen", + "markdownDescription": "Enables the set_simple_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the set_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-size", + "markdownDescription": "Enables the set_size command without any pre-configured scope." + }, + { + "description": "Enables the set_size_constraints command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-size-constraints", + "markdownDescription": "Enables the set_size_constraints command without any pre-configured scope." + }, + { + "description": "Enables the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-skip-taskbar", + "markdownDescription": "Enables the set_skip_taskbar command without any pre-configured scope." + }, + { + "description": "Enables the set_theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-theme", + "markdownDescription": "Enables the set_theme command without any pre-configured scope." + }, + { + "description": "Enables the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-title", + "markdownDescription": "Enables the set_title command without any pre-configured scope." + }, + { + "description": "Enables the set_title_bar_style command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-title-bar-style", + "markdownDescription": "Enables the set_title_bar_style command without any pre-configured scope." + }, + { + "description": "Enables the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-visible-on-all-workspaces", + "markdownDescription": "Enables the set_visible_on_all_workspaces command without any pre-configured scope." + }, + { + "description": "Enables the show command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-show", + "markdownDescription": "Enables the show command without any pre-configured scope." + }, + { + "description": "Enables the start_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-start-dragging", + "markdownDescription": "Enables the start_dragging command without any pre-configured scope." + }, + { + "description": "Enables the start_resize_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-start-resize-dragging", + "markdownDescription": "Enables the start_resize_dragging command without any pre-configured scope." + }, + { + "description": "Enables the theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-theme", + "markdownDescription": "Enables the theme command without any pre-configured scope." + }, + { + "description": "Enables the title command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-title", + "markdownDescription": "Enables the title command without any pre-configured scope." + }, + { + "description": "Enables the toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-toggle-maximize", + "markdownDescription": "Enables the toggle_maximize command without any pre-configured scope." + }, + { + "description": "Enables the unmaximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-unmaximize", + "markdownDescription": "Enables the unmaximize command without any pre-configured scope." + }, + { + "description": "Enables the unminimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-unminimize", + "markdownDescription": "Enables the unminimize command without any pre-configured scope." + }, + { + "description": "Denies the activity_name command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-activity-name", + "markdownDescription": "Denies the activity_name command without any pre-configured scope." + }, + { + "description": "Denies the available_monitors command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-available-monitors", + "markdownDescription": "Denies the available_monitors command without any pre-configured scope." + }, + { + "description": "Denies the center command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-center", + "markdownDescription": "Denies the center command without any pre-configured scope." + }, + { + "description": "Denies the close command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-close", + "markdownDescription": "Denies the close command without any pre-configured scope." + }, + { + "description": "Denies the create command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-create", + "markdownDescription": "Denies the create command without any pre-configured scope." + }, + { + "description": "Denies the current_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-current-monitor", + "markdownDescription": "Denies the current_monitor command without any pre-configured scope." + }, + { + "description": "Denies the cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-cursor-position", + "markdownDescription": "Denies the cursor_position command without any pre-configured scope." + }, + { + "description": "Denies the destroy command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-destroy", + "markdownDescription": "Denies the destroy command without any pre-configured scope." + }, + { + "description": "Denies the get_all_windows command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-get-all-windows", + "markdownDescription": "Denies the get_all_windows command without any pre-configured scope." + }, + { + "description": "Denies the hide command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-hide", + "markdownDescription": "Denies the hide command without any pre-configured scope." + }, + { + "description": "Denies the inner_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-inner-position", + "markdownDescription": "Denies the inner_position command without any pre-configured scope." + }, + { + "description": "Denies the inner_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-inner-size", + "markdownDescription": "Denies the inner_size command without any pre-configured scope." + }, + { + "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-internal-toggle-maximize", + "markdownDescription": "Denies the internal_toggle_maximize command without any pre-configured scope." + }, + { + "description": "Denies the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-always-on-top", + "markdownDescription": "Denies the is_always_on_top command without any pre-configured scope." + }, + { + "description": "Denies the is_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-closable", + "markdownDescription": "Denies the is_closable command without any pre-configured scope." + }, + { + "description": "Denies the is_decorated command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-decorated", + "markdownDescription": "Denies the is_decorated command without any pre-configured scope." + }, + { + "description": "Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-enabled", + "markdownDescription": "Denies the is_enabled command without any pre-configured scope." + }, + { + "description": "Denies the is_focused command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-focused", + "markdownDescription": "Denies the is_focused command without any pre-configured scope." + }, + { + "description": "Denies the is_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-fullscreen", + "markdownDescription": "Denies the is_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the is_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-maximizable", + "markdownDescription": "Denies the is_maximizable command without any pre-configured scope." + }, + { + "description": "Denies the is_maximized command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-maximized", + "markdownDescription": "Denies the is_maximized command without any pre-configured scope." + }, + { + "description": "Denies the is_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-minimizable", + "markdownDescription": "Denies the is_minimizable command without any pre-configured scope." + }, + { + "description": "Denies the is_minimized command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-minimized", + "markdownDescription": "Denies the is_minimized command without any pre-configured scope." + }, + { + "description": "Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-resizable", + "markdownDescription": "Denies the is_resizable command without any pre-configured scope." + }, + { + "description": "Denies the is_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-visible", + "markdownDescription": "Denies the is_visible command without any pre-configured scope." + }, + { + "description": "Denies the maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-maximize", + "markdownDescription": "Denies the maximize command without any pre-configured scope." + }, + { + "description": "Denies the minimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-minimize", + "markdownDescription": "Denies the minimize command without any pre-configured scope." + }, + { + "description": "Denies the monitor_from_point command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-monitor-from-point", + "markdownDescription": "Denies the monitor_from_point command without any pre-configured scope." + }, + { + "description": "Denies the outer_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-outer-position", + "markdownDescription": "Denies the outer_position command without any pre-configured scope." + }, + { + "description": "Denies the outer_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-outer-size", + "markdownDescription": "Denies the outer_size command without any pre-configured scope." + }, + { + "description": "Denies the primary_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-primary-monitor", + "markdownDescription": "Denies the primary_monitor command without any pre-configured scope." + }, + { + "description": "Denies the request_user_attention command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-request-user-attention", + "markdownDescription": "Denies the request_user_attention command without any pre-configured scope." + }, + { + "description": "Denies the scale_factor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-scale-factor", + "markdownDescription": "Denies the scale_factor command without any pre-configured scope." + }, + { + "description": "Denies the scene_identifier command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-scene-identifier", + "markdownDescription": "Denies the scene_identifier command without any pre-configured scope." + }, + { + "description": "Denies the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-always-on-bottom", + "markdownDescription": "Denies the set_always_on_bottom command without any pre-configured scope." + }, + { + "description": "Denies the set_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-always-on-top", + "markdownDescription": "Denies the set_always_on_top command without any pre-configured scope." + }, + { + "description": "Denies the set_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-background-color", + "markdownDescription": "Denies the set_background_color command without any pre-configured scope." + }, + { + "description": "Denies the set_badge_count command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-badge-count", + "markdownDescription": "Denies the set_badge_count command without any pre-configured scope." + }, + { + "description": "Denies the set_badge_label command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-badge-label", + "markdownDescription": "Denies the set_badge_label command without any pre-configured scope." + }, + { + "description": "Denies the set_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-closable", + "markdownDescription": "Denies the set_closable command without any pre-configured scope." + }, + { + "description": "Denies the set_content_protected command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-content-protected", + "markdownDescription": "Denies the set_content_protected command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-grab", + "markdownDescription": "Denies the set_cursor_grab command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-icon", + "markdownDescription": "Denies the set_cursor_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-position", + "markdownDescription": "Denies the set_cursor_position command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-visible", + "markdownDescription": "Denies the set_cursor_visible command without any pre-configured scope." + }, + { + "description": "Denies the set_decorations command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-decorations", + "markdownDescription": "Denies the set_decorations command without any pre-configured scope." + }, + { + "description": "Denies the set_effects command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-effects", + "markdownDescription": "Denies the set_effects command without any pre-configured scope." + }, + { + "description": "Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-enabled", + "markdownDescription": "Denies the set_enabled command without any pre-configured scope." + }, + { + "description": "Denies the set_focus command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-focus", + "markdownDescription": "Denies the set_focus command without any pre-configured scope." + }, + { + "description": "Denies the set_focusable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-focusable", + "markdownDescription": "Denies the set_focusable command without any pre-configured scope." + }, + { + "description": "Denies the set_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-fullscreen", + "markdownDescription": "Denies the set_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-ignore-cursor-events", + "markdownDescription": "Denies the set_ignore_cursor_events command without any pre-configured scope." + }, + { + "description": "Denies the set_max_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-max-size", + "markdownDescription": "Denies the set_max_size command without any pre-configured scope." + }, + { + "description": "Denies the set_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-maximizable", + "markdownDescription": "Denies the set_maximizable command without any pre-configured scope." + }, + { + "description": "Denies the set_min_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-min-size", + "markdownDescription": "Denies the set_min_size command without any pre-configured scope." + }, + { + "description": "Denies the set_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-minimizable", + "markdownDescription": "Denies the set_minimizable command without any pre-configured scope." + }, + { + "description": "Denies the set_overlay_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-overlay-icon", + "markdownDescription": "Denies the set_overlay_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-position", + "markdownDescription": "Denies the set_position command without any pre-configured scope." + }, + { + "description": "Denies the set_progress_bar command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-progress-bar", + "markdownDescription": "Denies the set_progress_bar command without any pre-configured scope." + }, + { + "description": "Denies the set_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-resizable", + "markdownDescription": "Denies the set_resizable command without any pre-configured scope." + }, + { + "description": "Denies the set_shadow command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-shadow", + "markdownDescription": "Denies the set_shadow command without any pre-configured scope." + }, + { + "description": "Denies the set_simple_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-simple-fullscreen", + "markdownDescription": "Denies the set_simple_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the set_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-size", + "markdownDescription": "Denies the set_size command without any pre-configured scope." + }, + { + "description": "Denies the set_size_constraints command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-size-constraints", + "markdownDescription": "Denies the set_size_constraints command without any pre-configured scope." + }, + { + "description": "Denies the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-skip-taskbar", + "markdownDescription": "Denies the set_skip_taskbar command without any pre-configured scope." + }, + { + "description": "Denies the set_theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-theme", + "markdownDescription": "Denies the set_theme command without any pre-configured scope." + }, + { + "description": "Denies the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-title", + "markdownDescription": "Denies the set_title command without any pre-configured scope." + }, + { + "description": "Denies the set_title_bar_style command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-title-bar-style", + "markdownDescription": "Denies the set_title_bar_style command without any pre-configured scope." + }, + { + "description": "Denies the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-visible-on-all-workspaces", + "markdownDescription": "Denies the set_visible_on_all_workspaces command without any pre-configured scope." + }, + { + "description": "Denies the show command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-show", + "markdownDescription": "Denies the show command without any pre-configured scope." + }, + { + "description": "Denies the start_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-start-dragging", + "markdownDescription": "Denies the start_dragging command without any pre-configured scope." + }, + { + "description": "Denies the start_resize_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-start-resize-dragging", + "markdownDescription": "Denies the start_resize_dragging command without any pre-configured scope." + }, + { + "description": "Denies the theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-theme", + "markdownDescription": "Denies the theme command without any pre-configured scope." + }, + { + "description": "Denies the title command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-title", + "markdownDescription": "Denies the title command without any pre-configured scope." + }, + { + "description": "Denies the toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-toggle-maximize", + "markdownDescription": "Denies the toggle_maximize command without any pre-configured scope." + }, + { + "description": "Denies the unmaximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-unmaximize", + "markdownDescription": "Denies the unmaximize command without any pre-configured scope." + }, + { + "description": "Denies the unminimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-unminimize", + "markdownDescription": "Denies the unminimize command without any pre-configured scope." + }, + { + "description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", + "type": "string", + "const": "opener:default", + "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" + }, + { + "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", + "type": "string", + "const": "opener:allow-default-urls", + "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." + }, + { + "description": "Enables the open_path command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-open-path", + "markdownDescription": "Enables the open_path command without any pre-configured scope." + }, + { + "description": "Enables the open_url command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-open-url", + "markdownDescription": "Enables the open_url command without any pre-configured scope." + }, + { + "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-reveal-item-in-dir", + "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." + }, + { + "description": "Denies the open_path command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-open-path", + "markdownDescription": "Denies the open_path command without any pre-configured scope." + }, + { + "description": "Denies the open_url command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-open-url", + "markdownDescription": "Denies the open_url command without any pre-configured scope." + }, + { + "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-reveal-item-in-dir", + "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." + }, + { + "description": "This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n\n#### This default permission set includes:\n\n- `allow-exit`\n- `allow-restart`", + "type": "string", + "const": "process:default", + "markdownDescription": "This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n\n#### This default permission set includes:\n\n- `allow-exit`\n- `allow-restart`" + }, + { + "description": "Enables the exit command without any pre-configured scope.", + "type": "string", + "const": "process:allow-exit", + "markdownDescription": "Enables the exit command without any pre-configured scope." + }, + { + "description": "Enables the restart command without any pre-configured scope.", + "type": "string", + "const": "process:allow-restart", + "markdownDescription": "Enables the restart command without any pre-configured scope." + }, + { + "description": "Denies the exit command without any pre-configured scope.", + "type": "string", + "const": "process:deny-exit", + "markdownDescription": "Denies the exit command without any pre-configured scope." + }, + { + "description": "Denies the restart command without any pre-configured scope.", + "type": "string", + "const": "process:deny-restart", + "markdownDescription": "Denies the restart command without any pre-configured scope." + }, + { + "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`", + "type": "string", + "const": "shell:default", + "markdownDescription": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`" + }, + { + "description": "Enables the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-execute", + "markdownDescription": "Enables the execute command without any pre-configured scope." + }, + { + "description": "Enables the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-kill", + "markdownDescription": "Enables the kill command without any pre-configured scope." + }, + { + "description": "Enables the open command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-open", + "markdownDescription": "Enables the open command without any pre-configured scope." + }, + { + "description": "Enables the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-spawn", + "markdownDescription": "Enables the spawn command without any pre-configured scope." + }, + { + "description": "Enables the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-stdin-write", + "markdownDescription": "Enables the stdin_write command without any pre-configured scope." + }, + { + "description": "Denies the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-execute", + "markdownDescription": "Denies the execute command without any pre-configured scope." + }, + { + "description": "Denies the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-kill", + "markdownDescription": "Denies the kill command without any pre-configured scope." + }, + { + "description": "Denies the open command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-open", + "markdownDescription": "Denies the open command without any pre-configured scope." + }, + { + "description": "Denies the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-spawn", + "markdownDescription": "Denies the spawn command without any pre-configured scope." + }, + { + "description": "Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-stdin-write", + "markdownDescription": "Denies the stdin_write command without any pre-configured scope." + } + ] + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a null JSON value.", + "type": "null" + }, + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Target": { + "description": "Platform target.", + "oneOf": [ + { + "description": "MacOS.", + "type": "string", + "enum": [ + "macOS" + ] + }, + { + "description": "Windows.", + "type": "string", + "enum": [ + "windows" + ] + }, + { + "description": "Linux.", + "type": "string", + "enum": [ + "linux" + ] + }, + { + "description": "Android.", + "type": "string", + "enum": [ + "android" + ] + }, + { + "description": "iOS.", + "type": "string", + "enum": [ + "iOS" + ] + } + ] + }, + "Application": { + "description": "Opener scope application.", + "anyOf": [ + { + "description": "Open in default application.", + "type": "null" + }, + { + "description": "If true, allow open with any application.", + "type": "boolean" + }, + { + "description": "Allow specific application to open with.", + "type": "string" + } + ] + }, + "ShellScopeEntryAllowedArg": { + "description": "A command argument allowed to be executed by the webview API.", + "anyOf": [ + { + "description": "A non-configurable argument that is passed to the command in the order it was specified.", + "type": "string" + }, + { + "description": "A variable that is set while calling the command from the webview API.", + "type": "object", + "required": [ + "validator" + ], + "properties": { + "raw": { + "description": "Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.", + "default": false, + "type": "boolean" + }, + "validator": { + "description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: ", + "type": "string" + } + }, + "additionalProperties": false + } + ] + }, + "ShellScopeEntryAllowedArgs": { + "description": "A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellScopeEntryAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration.", + "anyOf": [ + { + "description": "Use a simple boolean to allow all or disable all arguments to this command configuration.", + "type": "boolean" + }, + { + "description": "A specific set of [`ShellScopeEntryAllowedArg`] that are valid to call for the command configuration.", + "type": "array", + "items": { + "$ref": "#/definitions/ShellScopeEntryAllowedArg" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src-tauri/gen/schemas/windows-schema.json b/src-tauri/gen/schemas/windows-schema.json new file mode 100644 index 0000000..a04925e --- /dev/null +++ b/src-tauri/gen/schemas/windows-schema.json @@ -0,0 +1,2875 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "CapabilityFile", + "description": "Capability formats accepted in a capability file.", + "anyOf": [ + { + "description": "A single capability.", + "allOf": [ + { + "$ref": "#/definitions/Capability" + } + ] + }, + { + "description": "A list of capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + }, + { + "description": "A list of capabilities.", + "type": "object", + "required": [ + "capabilities" + ], + "properties": { + "capabilities": { + "description": "The list of capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + } + } + } + ], + "definitions": { + "Capability": { + "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows' and webviews' fine grained access to the Tauri core, application, or plugin commands. If a webview or its window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, ], \"platforms\": [\"macOS\",\"windows\"] } ```", + "type": "object", + "required": [ + "identifier", + "permissions" + ], + "properties": { + "identifier": { + "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", + "type": "string" + }, + "description": { + "description": "Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.", + "default": "", + "type": "string" + }, + "remote": { + "description": "Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```", + "anyOf": [ + { + "$ref": "#/definitions/CapabilityRemote" + }, + { + "type": "null" + } + ] + }, + "local": { + "description": "Whether this capability is enabled for local app URLs or not. Defaults to `true`.", + "default": true, + "type": "boolean" + }, + "windows": { + "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nIf a window label matches any of the patterns in this list, the capability will be enabled on all the webviews of that window, regardless of the value of [`Self::webviews`].\n\nOn multiwebview windows, prefer specifying [`Self::webviews`] and omitting [`Self::windows`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", + "type": "array", + "items": { + "type": "string" + } + }, + "webviews": { + "description": "List of webviews that are affected by this capability. Can be a glob pattern.\n\nThe capability will be enabled on all the webviews whose label matches any of the patterns in this list, regardless of whether the webview's window label matches a pattern in [`Self::windows`].\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", + "type": "array", + "items": { + "type": "string" + } + }, + "permissions": { + "description": "List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ] ```", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionEntry" + }, + "uniqueItems": true + }, + "platforms": { + "description": "Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Target" + } + } + } + }, + "CapabilityRemote": { + "description": "Configuration for remote URLs that are associated with the capability.", + "type": "object", + "required": [ + "urls" + ], + "properties": { + "urls": { + "description": "Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PermissionEntry": { + "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", + "anyOf": [ + { + "description": "Reference a permission or permission set by identifier.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + }, + { + "description": "Reference a permission or permission set by identifier and extends its scope.", + "type": "object", + "allOf": [ + { + "if": { + "properties": { + "identifier": { + "anyOf": [ + { + "description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", + "type": "string", + "const": "opener:default", + "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" + }, + { + "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", + "type": "string", + "const": "opener:allow-default-urls", + "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." + }, + { + "description": "Enables the open_path command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-open-path", + "markdownDescription": "Enables the open_path command without any pre-configured scope." + }, + { + "description": "Enables the open_url command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-open-url", + "markdownDescription": "Enables the open_url command without any pre-configured scope." + }, + { + "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-reveal-item-in-dir", + "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." + }, + { + "description": "Denies the open_path command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-open-path", + "markdownDescription": "Denies the open_path command without any pre-configured scope." + }, + { + "description": "Denies the open_url command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-open-url", + "markdownDescription": "Denies the open_url command without any pre-configured scope." + }, + { + "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-reveal-item-in-dir", + "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." + } + ] + } + } + }, + "then": { + "properties": { + "allow": { + "items": { + "title": "OpenerScopeEntry", + "description": "Opener scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "url" + ], + "properties": { + "app": { + "description": "An application to open this url with, for example: firefox.", + "allOf": [ + { + "$ref": "#/definitions/Application" + } + ] + }, + "url": { + "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + } + } + }, + { + "type": "object", + "required": [ + "path" + ], + "properties": { + "app": { + "description": "An application to open this path with, for example: xdg-open.", + "allOf": [ + { + "$ref": "#/definitions/Application" + } + ] + }, + "path": { + "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", + "type": "string" + } + } + } + ] + } + }, + "deny": { + "items": { + "title": "OpenerScopeEntry", + "description": "Opener scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "url" + ], + "properties": { + "app": { + "description": "An application to open this url with, for example: firefox.", + "allOf": [ + { + "$ref": "#/definitions/Application" + } + ] + }, + "url": { + "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + } + } + }, + { + "type": "object", + "required": [ + "path" + ], + "properties": { + "app": { + "description": "An application to open this path with, for example: xdg-open.", + "allOf": [ + { + "$ref": "#/definitions/Application" + } + ] + }, + "path": { + "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", + "type": "string" + } + } + } + ] + } + } + } + }, + "properties": { + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + } + } + }, + { + "if": { + "properties": { + "identifier": { + "anyOf": [ + { + "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`", + "type": "string", + "const": "shell:default", + "markdownDescription": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`" + }, + { + "description": "Enables the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-execute", + "markdownDescription": "Enables the execute command without any pre-configured scope." + }, + { + "description": "Enables the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-kill", + "markdownDescription": "Enables the kill command without any pre-configured scope." + }, + { + "description": "Enables the open command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-open", + "markdownDescription": "Enables the open command without any pre-configured scope." + }, + { + "description": "Enables the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-spawn", + "markdownDescription": "Enables the spawn command without any pre-configured scope." + }, + { + "description": "Enables the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-stdin-write", + "markdownDescription": "Enables the stdin_write command without any pre-configured scope." + }, + { + "description": "Denies the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-execute", + "markdownDescription": "Denies the execute command without any pre-configured scope." + }, + { + "description": "Denies the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-kill", + "markdownDescription": "Denies the kill command without any pre-configured scope." + }, + { + "description": "Denies the open command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-open", + "markdownDescription": "Denies the open command without any pre-configured scope." + }, + { + "description": "Denies the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-spawn", + "markdownDescription": "Denies the spawn command without any pre-configured scope." + }, + { + "description": "Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-stdin-write", + "markdownDescription": "Denies the stdin_write command without any pre-configured scope." + } + ] + } + } + }, + "then": { + "properties": { + "allow": { + "items": { + "title": "ShellScopeEntry", + "description": "Shell scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "cmd", + "name" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "cmd": { + "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", + "type": "string" + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "name", + "sidecar" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + }, + "sidecar": { + "description": "If this command is a sidecar command.", + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + }, + "deny": { + "items": { + "title": "ShellScopeEntry", + "description": "Shell scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "cmd", + "name" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "cmd": { + "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", + "type": "string" + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "name", + "sidecar" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + }, + "sidecar": { + "description": "If this command is a sidecar command.", + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + } + } + }, + "properties": { + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + } + } + }, + { + "properties": { + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + }, + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope. This should be prioritized by validation logic.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + } + ], + "required": [ + "identifier" + ] + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ + { + "description": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`", + "type": "string", + "const": "core:default", + "markdownDescription": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`" + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`\n- `allow-supports-multiple-windows`", + "type": "string", + "const": "core:app:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`\n- `allow-supports-multiple-windows`" + }, + { + "description": "Enables the app_hide command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-app-hide", + "markdownDescription": "Enables the app_hide command without any pre-configured scope." + }, + { + "description": "Enables the app_show command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-app-show", + "markdownDescription": "Enables the app_show command without any pre-configured scope." + }, + { + "description": "Enables the bundle_type command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-bundle-type", + "markdownDescription": "Enables the bundle_type command without any pre-configured scope." + }, + { + "description": "Enables the default_window_icon command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-default-window-icon", + "markdownDescription": "Enables the default_window_icon command without any pre-configured scope." + }, + { + "description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-fetch-data-store-identifiers", + "markdownDescription": "Enables the fetch_data_store_identifiers command without any pre-configured scope." + }, + { + "description": "Enables the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-identifier", + "markdownDescription": "Enables the identifier command without any pre-configured scope." + }, + { + "description": "Enables the name command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-name", + "markdownDescription": "Enables the name command without any pre-configured scope." + }, + { + "description": "Enables the register_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-register-listener", + "markdownDescription": "Enables the register_listener command without any pre-configured scope." + }, + { + "description": "Enables the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-remove-data-store", + "markdownDescription": "Enables the remove_data_store command without any pre-configured scope." + }, + { + "description": "Enables the remove_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-remove-listener", + "markdownDescription": "Enables the remove_listener command without any pre-configured scope." + }, + { + "description": "Enables the set_app_theme command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-set-app-theme", + "markdownDescription": "Enables the set_app_theme command without any pre-configured scope." + }, + { + "description": "Enables the set_dock_visibility command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-set-dock-visibility", + "markdownDescription": "Enables the set_dock_visibility command without any pre-configured scope." + }, + { + "description": "Enables the supports_multiple_windows command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-supports-multiple-windows", + "markdownDescription": "Enables the supports_multiple_windows command without any pre-configured scope." + }, + { + "description": "Enables the tauri_version command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-tauri-version", + "markdownDescription": "Enables the tauri_version command without any pre-configured scope." + }, + { + "description": "Enables the version command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-version", + "markdownDescription": "Enables the version command without any pre-configured scope." + }, + { + "description": "Denies the app_hide command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-app-hide", + "markdownDescription": "Denies the app_hide command without any pre-configured scope." + }, + { + "description": "Denies the app_show command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-app-show", + "markdownDescription": "Denies the app_show command without any pre-configured scope." + }, + { + "description": "Denies the bundle_type command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-bundle-type", + "markdownDescription": "Denies the bundle_type command without any pre-configured scope." + }, + { + "description": "Denies the default_window_icon command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-default-window-icon", + "markdownDescription": "Denies the default_window_icon command without any pre-configured scope." + }, + { + "description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-fetch-data-store-identifiers", + "markdownDescription": "Denies the fetch_data_store_identifiers command without any pre-configured scope." + }, + { + "description": "Denies the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-identifier", + "markdownDescription": "Denies the identifier command without any pre-configured scope." + }, + { + "description": "Denies the name command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-name", + "markdownDescription": "Denies the name command without any pre-configured scope." + }, + { + "description": "Denies the register_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-register-listener", + "markdownDescription": "Denies the register_listener command without any pre-configured scope." + }, + { + "description": "Denies the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-remove-data-store", + "markdownDescription": "Denies the remove_data_store command without any pre-configured scope." + }, + { + "description": "Denies the remove_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-remove-listener", + "markdownDescription": "Denies the remove_listener command without any pre-configured scope." + }, + { + "description": "Denies the set_app_theme command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-set-app-theme", + "markdownDescription": "Denies the set_app_theme command without any pre-configured scope." + }, + { + "description": "Denies the set_dock_visibility command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-set-dock-visibility", + "markdownDescription": "Denies the set_dock_visibility command without any pre-configured scope." + }, + { + "description": "Denies the supports_multiple_windows command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-supports-multiple-windows", + "markdownDescription": "Denies the supports_multiple_windows command without any pre-configured scope." + }, + { + "description": "Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-tauri-version", + "markdownDescription": "Denies the tauri_version command without any pre-configured scope." + }, + { + "description": "Denies the version command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-version", + "markdownDescription": "Denies the version command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`", + "type": "string", + "const": "core:event:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`" + }, + { + "description": "Enables the emit command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-emit", + "markdownDescription": "Enables the emit command without any pre-configured scope." + }, + { + "description": "Enables the emit_to command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-emit-to", + "markdownDescription": "Enables the emit_to command without any pre-configured scope." + }, + { + "description": "Enables the listen command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-listen", + "markdownDescription": "Enables the listen command without any pre-configured scope." + }, + { + "description": "Enables the unlisten command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-unlisten", + "markdownDescription": "Enables the unlisten command without any pre-configured scope." + }, + { + "description": "Denies the emit command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-emit", + "markdownDescription": "Denies the emit command without any pre-configured scope." + }, + { + "description": "Denies the emit_to command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-emit-to", + "markdownDescription": "Denies the emit_to command without any pre-configured scope." + }, + { + "description": "Denies the listen command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-listen", + "markdownDescription": "Denies the listen command without any pre-configured scope." + }, + { + "description": "Denies the unlisten command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-unlisten", + "markdownDescription": "Denies the unlisten command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`", + "type": "string", + "const": "core:image:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`" + }, + { + "description": "Enables the from_bytes command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-from-bytes", + "markdownDescription": "Enables the from_bytes command without any pre-configured scope." + }, + { + "description": "Enables the from_path command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-from-path", + "markdownDescription": "Enables the from_path command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the rgba command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-rgba", + "markdownDescription": "Enables the rgba command without any pre-configured scope." + }, + { + "description": "Enables the size command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-size", + "markdownDescription": "Enables the size command without any pre-configured scope." + }, + { + "description": "Denies the from_bytes command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-from-bytes", + "markdownDescription": "Denies the from_bytes command without any pre-configured scope." + }, + { + "description": "Denies the from_path command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-from-path", + "markdownDescription": "Denies the from_path command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the rgba command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-rgba", + "markdownDescription": "Denies the rgba command without any pre-configured scope." + }, + { + "description": "Denies the size command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-size", + "markdownDescription": "Denies the size command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`", + "type": "string", + "const": "core:menu:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`" + }, + { + "description": "Enables the append command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-append", + "markdownDescription": "Enables the append command without any pre-configured scope." + }, + { + "description": "Enables the create_default command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-create-default", + "markdownDescription": "Enables the create_default command without any pre-configured scope." + }, + { + "description": "Enables the get command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-get", + "markdownDescription": "Enables the get command without any pre-configured scope." + }, + { + "description": "Enables the insert command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-insert", + "markdownDescription": "Enables the insert command without any pre-configured scope." + }, + { + "description": "Enables the is_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-is-checked", + "markdownDescription": "Enables the is_checked command without any pre-configured scope." + }, + { + "description": "Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-is-enabled", + "markdownDescription": "Enables the is_enabled command without any pre-configured scope." + }, + { + "description": "Enables the items command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-items", + "markdownDescription": "Enables the items command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the popup command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-popup", + "markdownDescription": "Enables the popup command without any pre-configured scope." + }, + { + "description": "Enables the prepend command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-prepend", + "markdownDescription": "Enables the prepend command without any pre-configured scope." + }, + { + "description": "Enables the remove command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-remove", + "markdownDescription": "Enables the remove command without any pre-configured scope." + }, + { + "description": "Enables the remove_at command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-remove-at", + "markdownDescription": "Enables the remove_at command without any pre-configured scope." + }, + { + "description": "Enables the set_accelerator command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-accelerator", + "markdownDescription": "Enables the set_accelerator command without any pre-configured scope." + }, + { + "description": "Enables the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-app-menu", + "markdownDescription": "Enables the set_as_app_menu command without any pre-configured scope." + }, + { + "description": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-help-menu-for-nsapp", + "markdownDescription": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Enables the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-window-menu", + "markdownDescription": "Enables the set_as_window_menu command without any pre-configured scope." + }, + { + "description": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-windows-menu-for-nsapp", + "markdownDescription": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Enables the set_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-checked", + "markdownDescription": "Enables the set_checked command without any pre-configured scope." + }, + { + "description": "Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-enabled", + "markdownDescription": "Enables the set_enabled command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-text", + "markdownDescription": "Enables the set_text command without any pre-configured scope." + }, + { + "description": "Enables the text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-text", + "markdownDescription": "Enables the text command without any pre-configured scope." + }, + { + "description": "Denies the append command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-append", + "markdownDescription": "Denies the append command without any pre-configured scope." + }, + { + "description": "Denies the create_default command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-create-default", + "markdownDescription": "Denies the create_default command without any pre-configured scope." + }, + { + "description": "Denies the get command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-get", + "markdownDescription": "Denies the get command without any pre-configured scope." + }, + { + "description": "Denies the insert command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-insert", + "markdownDescription": "Denies the insert command without any pre-configured scope." + }, + { + "description": "Denies the is_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-is-checked", + "markdownDescription": "Denies the is_checked command without any pre-configured scope." + }, + { + "description": "Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-is-enabled", + "markdownDescription": "Denies the is_enabled command without any pre-configured scope." + }, + { + "description": "Denies the items command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-items", + "markdownDescription": "Denies the items command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the popup command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-popup", + "markdownDescription": "Denies the popup command without any pre-configured scope." + }, + { + "description": "Denies the prepend command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-prepend", + "markdownDescription": "Denies the prepend command without any pre-configured scope." + }, + { + "description": "Denies the remove command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-remove", + "markdownDescription": "Denies the remove command without any pre-configured scope." + }, + { + "description": "Denies the remove_at command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-remove-at", + "markdownDescription": "Denies the remove_at command without any pre-configured scope." + }, + { + "description": "Denies the set_accelerator command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-accelerator", + "markdownDescription": "Denies the set_accelerator command without any pre-configured scope." + }, + { + "description": "Denies the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-app-menu", + "markdownDescription": "Denies the set_as_app_menu command without any pre-configured scope." + }, + { + "description": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-help-menu-for-nsapp", + "markdownDescription": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Denies the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-window-menu", + "markdownDescription": "Denies the set_as_window_menu command without any pre-configured scope." + }, + { + "description": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-windows-menu-for-nsapp", + "markdownDescription": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Denies the set_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-checked", + "markdownDescription": "Denies the set_checked command without any pre-configured scope." + }, + { + "description": "Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-enabled", + "markdownDescription": "Denies the set_enabled command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-text", + "markdownDescription": "Denies the set_text command without any pre-configured scope." + }, + { + "description": "Denies the text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-text", + "markdownDescription": "Denies the text command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`", + "type": "string", + "const": "core:path:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`" + }, + { + "description": "Enables the basename command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-basename", + "markdownDescription": "Enables the basename command without any pre-configured scope." + }, + { + "description": "Enables the dirname command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-dirname", + "markdownDescription": "Enables the dirname command without any pre-configured scope." + }, + { + "description": "Enables the extname command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-extname", + "markdownDescription": "Enables the extname command without any pre-configured scope." + }, + { + "description": "Enables the is_absolute command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-is-absolute", + "markdownDescription": "Enables the is_absolute command without any pre-configured scope." + }, + { + "description": "Enables the join command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-join", + "markdownDescription": "Enables the join command without any pre-configured scope." + }, + { + "description": "Enables the normalize command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-normalize", + "markdownDescription": "Enables the normalize command without any pre-configured scope." + }, + { + "description": "Enables the resolve command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-resolve", + "markdownDescription": "Enables the resolve command without any pre-configured scope." + }, + { + "description": "Enables the resolve_directory command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-resolve-directory", + "markdownDescription": "Enables the resolve_directory command without any pre-configured scope." + }, + { + "description": "Denies the basename command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-basename", + "markdownDescription": "Denies the basename command without any pre-configured scope." + }, + { + "description": "Denies the dirname command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-dirname", + "markdownDescription": "Denies the dirname command without any pre-configured scope." + }, + { + "description": "Denies the extname command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-extname", + "markdownDescription": "Denies the extname command without any pre-configured scope." + }, + { + "description": "Denies the is_absolute command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-is-absolute", + "markdownDescription": "Denies the is_absolute command without any pre-configured scope." + }, + { + "description": "Denies the join command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-join", + "markdownDescription": "Denies the join command without any pre-configured scope." + }, + { + "description": "Denies the normalize command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-normalize", + "markdownDescription": "Denies the normalize command without any pre-configured scope." + }, + { + "description": "Denies the resolve command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-resolve", + "markdownDescription": "Denies the resolve command without any pre-configured scope." + }, + { + "description": "Denies the resolve_directory command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-resolve-directory", + "markdownDescription": "Denies the resolve_directory command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`", + "type": "string", + "const": "core:resources:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`" + }, + { + "description": "Enables the close command without any pre-configured scope.", + "type": "string", + "const": "core:resources:allow-close", + "markdownDescription": "Enables the close command without any pre-configured scope." + }, + { + "description": "Denies the close command without any pre-configured scope.", + "type": "string", + "const": "core:resources:deny-close", + "markdownDescription": "Denies the close command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-icon-with-as-template`\n- `allow-set-show-menu-on-left-click`", + "type": "string", + "const": "core:tray:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-icon-with-as-template`\n- `allow-set-show-menu-on-left-click`" + }, + { + "description": "Enables the get_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-get-by-id", + "markdownDescription": "Enables the get_by_id command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the remove_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-remove-by-id", + "markdownDescription": "Enables the remove_by_id command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon-as-template", + "markdownDescription": "Enables the set_icon_as_template command without any pre-configured scope." + }, + { + "description": "Enables the set_icon_with_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon-with-as-template", + "markdownDescription": "Enables the set_icon_with_as_template command without any pre-configured scope." + }, + { + "description": "Enables the set_menu command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-menu", + "markdownDescription": "Enables the set_menu command without any pre-configured scope." + }, + { + "description": "Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-show-menu-on-left-click", + "markdownDescription": "Enables the set_show_menu_on_left_click command without any pre-configured scope." + }, + { + "description": "Enables the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-temp-dir-path", + "markdownDescription": "Enables the set_temp_dir_path command without any pre-configured scope." + }, + { + "description": "Enables the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-title", + "markdownDescription": "Enables the set_title command without any pre-configured scope." + }, + { + "description": "Enables the set_tooltip command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-tooltip", + "markdownDescription": "Enables the set_tooltip command without any pre-configured scope." + }, + { + "description": "Enables the set_visible command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-visible", + "markdownDescription": "Enables the set_visible command without any pre-configured scope." + }, + { + "description": "Denies the get_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-get-by-id", + "markdownDescription": "Denies the get_by_id command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the remove_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-remove-by-id", + "markdownDescription": "Denies the remove_by_id command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon-as-template", + "markdownDescription": "Denies the set_icon_as_template command without any pre-configured scope." + }, + { + "description": "Denies the set_icon_with_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon-with-as-template", + "markdownDescription": "Denies the set_icon_with_as_template command without any pre-configured scope." + }, + { + "description": "Denies the set_menu command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-menu", + "markdownDescription": "Denies the set_menu command without any pre-configured scope." + }, + { + "description": "Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-show-menu-on-left-click", + "markdownDescription": "Denies the set_show_menu_on_left_click command without any pre-configured scope." + }, + { + "description": "Denies the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-temp-dir-path", + "markdownDescription": "Denies the set_temp_dir_path command without any pre-configured scope." + }, + { + "description": "Denies the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-title", + "markdownDescription": "Denies the set_title command without any pre-configured scope." + }, + { + "description": "Denies the set_tooltip command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-tooltip", + "markdownDescription": "Denies the set_tooltip command without any pre-configured scope." + }, + { + "description": "Denies the set_visible command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-visible", + "markdownDescription": "Denies the set_visible command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`", + "type": "string", + "const": "core:webview:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`" + }, + { + "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-clear-all-browsing-data", + "markdownDescription": "Enables the clear_all_browsing_data command without any pre-configured scope." + }, + { + "description": "Enables the create_webview command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-create-webview", + "markdownDescription": "Enables the create_webview command without any pre-configured scope." + }, + { + "description": "Enables the create_webview_window command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-create-webview-window", + "markdownDescription": "Enables the create_webview_window command without any pre-configured scope." + }, + { + "description": "Enables the get_all_webviews command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-get-all-webviews", + "markdownDescription": "Enables the get_all_webviews command without any pre-configured scope." + }, + { + "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-internal-toggle-devtools", + "markdownDescription": "Enables the internal_toggle_devtools command without any pre-configured scope." + }, + { + "description": "Enables the print command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-print", + "markdownDescription": "Enables the print command without any pre-configured scope." + }, + { + "description": "Enables the reparent command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-reparent", + "markdownDescription": "Enables the reparent command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_auto_resize command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-auto-resize", + "markdownDescription": "Enables the set_webview_auto_resize command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-background-color", + "markdownDescription": "Enables the set_webview_background_color command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_focus command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-focus", + "markdownDescription": "Enables the set_webview_focus command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-position", + "markdownDescription": "Enables the set_webview_position command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-size", + "markdownDescription": "Enables the set_webview_size command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_zoom command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-zoom", + "markdownDescription": "Enables the set_webview_zoom command without any pre-configured scope." + }, + { + "description": "Enables the webview_close command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-close", + "markdownDescription": "Enables the webview_close command without any pre-configured scope." + }, + { + "description": "Enables the webview_hide command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-hide", + "markdownDescription": "Enables the webview_hide command without any pre-configured scope." + }, + { + "description": "Enables the webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-position", + "markdownDescription": "Enables the webview_position command without any pre-configured scope." + }, + { + "description": "Enables the webview_show command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-show", + "markdownDescription": "Enables the webview_show command without any pre-configured scope." + }, + { + "description": "Enables the webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-size", + "markdownDescription": "Enables the webview_size command without any pre-configured scope." + }, + { + "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-clear-all-browsing-data", + "markdownDescription": "Denies the clear_all_browsing_data command without any pre-configured scope." + }, + { + "description": "Denies the create_webview command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-create-webview", + "markdownDescription": "Denies the create_webview command without any pre-configured scope." + }, + { + "description": "Denies the create_webview_window command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-create-webview-window", + "markdownDescription": "Denies the create_webview_window command without any pre-configured scope." + }, + { + "description": "Denies the get_all_webviews command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-get-all-webviews", + "markdownDescription": "Denies the get_all_webviews command without any pre-configured scope." + }, + { + "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-internal-toggle-devtools", + "markdownDescription": "Denies the internal_toggle_devtools command without any pre-configured scope." + }, + { + "description": "Denies the print command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-print", + "markdownDescription": "Denies the print command without any pre-configured scope." + }, + { + "description": "Denies the reparent command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-reparent", + "markdownDescription": "Denies the reparent command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_auto_resize command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-auto-resize", + "markdownDescription": "Denies the set_webview_auto_resize command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-background-color", + "markdownDescription": "Denies the set_webview_background_color command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_focus command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-focus", + "markdownDescription": "Denies the set_webview_focus command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-position", + "markdownDescription": "Denies the set_webview_position command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-size", + "markdownDescription": "Denies the set_webview_size command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_zoom command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-zoom", + "markdownDescription": "Denies the set_webview_zoom command without any pre-configured scope." + }, + { + "description": "Denies the webview_close command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-close", + "markdownDescription": "Denies the webview_close command without any pre-configured scope." + }, + { + "description": "Denies the webview_hide command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-hide", + "markdownDescription": "Denies the webview_hide command without any pre-configured scope." + }, + { + "description": "Denies the webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-position", + "markdownDescription": "Denies the webview_position command without any pre-configured scope." + }, + { + "description": "Denies the webview_show command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-show", + "markdownDescription": "Denies the webview_show command without any pre-configured scope." + }, + { + "description": "Denies the webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-size", + "markdownDescription": "Denies the webview_size command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-activity-name`\n- `allow-scene-identifier`\n- `allow-internal-toggle-maximize`", + "type": "string", + "const": "core:window:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-activity-name`\n- `allow-scene-identifier`\n- `allow-internal-toggle-maximize`" + }, + { + "description": "Enables the activity_name command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-activity-name", + "markdownDescription": "Enables the activity_name command without any pre-configured scope." + }, + { + "description": "Enables the available_monitors command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-available-monitors", + "markdownDescription": "Enables the available_monitors command without any pre-configured scope." + }, + { + "description": "Enables the center command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-center", + "markdownDescription": "Enables the center command without any pre-configured scope." + }, + { + "description": "Enables the close command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-close", + "markdownDescription": "Enables the close command without any pre-configured scope." + }, + { + "description": "Enables the create command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-create", + "markdownDescription": "Enables the create command without any pre-configured scope." + }, + { + "description": "Enables the current_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-current-monitor", + "markdownDescription": "Enables the current_monitor command without any pre-configured scope." + }, + { + "description": "Enables the cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-cursor-position", + "markdownDescription": "Enables the cursor_position command without any pre-configured scope." + }, + { + "description": "Enables the destroy command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-destroy", + "markdownDescription": "Enables the destroy command without any pre-configured scope." + }, + { + "description": "Enables the get_all_windows command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-get-all-windows", + "markdownDescription": "Enables the get_all_windows command without any pre-configured scope." + }, + { + "description": "Enables the hide command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-hide", + "markdownDescription": "Enables the hide command without any pre-configured scope." + }, + { + "description": "Enables the inner_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-inner-position", + "markdownDescription": "Enables the inner_position command without any pre-configured scope." + }, + { + "description": "Enables the inner_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-inner-size", + "markdownDescription": "Enables the inner_size command without any pre-configured scope." + }, + { + "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-internal-toggle-maximize", + "markdownDescription": "Enables the internal_toggle_maximize command without any pre-configured scope." + }, + { + "description": "Enables the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-always-on-top", + "markdownDescription": "Enables the is_always_on_top command without any pre-configured scope." + }, + { + "description": "Enables the is_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-closable", + "markdownDescription": "Enables the is_closable command without any pre-configured scope." + }, + { + "description": "Enables the is_decorated command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-decorated", + "markdownDescription": "Enables the is_decorated command without any pre-configured scope." + }, + { + "description": "Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-enabled", + "markdownDescription": "Enables the is_enabled command without any pre-configured scope." + }, + { + "description": "Enables the is_focused command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-focused", + "markdownDescription": "Enables the is_focused command without any pre-configured scope." + }, + { + "description": "Enables the is_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-fullscreen", + "markdownDescription": "Enables the is_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the is_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-maximizable", + "markdownDescription": "Enables the is_maximizable command without any pre-configured scope." + }, + { + "description": "Enables the is_maximized command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-maximized", + "markdownDescription": "Enables the is_maximized command without any pre-configured scope." + }, + { + "description": "Enables the is_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-minimizable", + "markdownDescription": "Enables the is_minimizable command without any pre-configured scope." + }, + { + "description": "Enables the is_minimized command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-minimized", + "markdownDescription": "Enables the is_minimized command without any pre-configured scope." + }, + { + "description": "Enables the is_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-resizable", + "markdownDescription": "Enables the is_resizable command without any pre-configured scope." + }, + { + "description": "Enables the is_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-visible", + "markdownDescription": "Enables the is_visible command without any pre-configured scope." + }, + { + "description": "Enables the maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-maximize", + "markdownDescription": "Enables the maximize command without any pre-configured scope." + }, + { + "description": "Enables the minimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-minimize", + "markdownDescription": "Enables the minimize command without any pre-configured scope." + }, + { + "description": "Enables the monitor_from_point command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-monitor-from-point", + "markdownDescription": "Enables the monitor_from_point command without any pre-configured scope." + }, + { + "description": "Enables the outer_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-outer-position", + "markdownDescription": "Enables the outer_position command without any pre-configured scope." + }, + { + "description": "Enables the outer_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-outer-size", + "markdownDescription": "Enables the outer_size command without any pre-configured scope." + }, + { + "description": "Enables the primary_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-primary-monitor", + "markdownDescription": "Enables the primary_monitor command without any pre-configured scope." + }, + { + "description": "Enables the request_user_attention command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-request-user-attention", + "markdownDescription": "Enables the request_user_attention command without any pre-configured scope." + }, + { + "description": "Enables the scale_factor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-scale-factor", + "markdownDescription": "Enables the scale_factor command without any pre-configured scope." + }, + { + "description": "Enables the scene_identifier command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-scene-identifier", + "markdownDescription": "Enables the scene_identifier command without any pre-configured scope." + }, + { + "description": "Enables the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-always-on-bottom", + "markdownDescription": "Enables the set_always_on_bottom command without any pre-configured scope." + }, + { + "description": "Enables the set_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-always-on-top", + "markdownDescription": "Enables the set_always_on_top command without any pre-configured scope." + }, + { + "description": "Enables the set_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-background-color", + "markdownDescription": "Enables the set_background_color command without any pre-configured scope." + }, + { + "description": "Enables the set_badge_count command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-badge-count", + "markdownDescription": "Enables the set_badge_count command without any pre-configured scope." + }, + { + "description": "Enables the set_badge_label command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-badge-label", + "markdownDescription": "Enables the set_badge_label command without any pre-configured scope." + }, + { + "description": "Enables the set_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-closable", + "markdownDescription": "Enables the set_closable command without any pre-configured scope." + }, + { + "description": "Enables the set_content_protected command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-content-protected", + "markdownDescription": "Enables the set_content_protected command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-grab", + "markdownDescription": "Enables the set_cursor_grab command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-icon", + "markdownDescription": "Enables the set_cursor_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-position", + "markdownDescription": "Enables the set_cursor_position command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-visible", + "markdownDescription": "Enables the set_cursor_visible command without any pre-configured scope." + }, + { + "description": "Enables the set_decorations command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-decorations", + "markdownDescription": "Enables the set_decorations command without any pre-configured scope." + }, + { + "description": "Enables the set_effects command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-effects", + "markdownDescription": "Enables the set_effects command without any pre-configured scope." + }, + { + "description": "Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-enabled", + "markdownDescription": "Enables the set_enabled command without any pre-configured scope." + }, + { + "description": "Enables the set_focus command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-focus", + "markdownDescription": "Enables the set_focus command without any pre-configured scope." + }, + { + "description": "Enables the set_focusable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-focusable", + "markdownDescription": "Enables the set_focusable command without any pre-configured scope." + }, + { + "description": "Enables the set_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-fullscreen", + "markdownDescription": "Enables the set_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-ignore-cursor-events", + "markdownDescription": "Enables the set_ignore_cursor_events command without any pre-configured scope." + }, + { + "description": "Enables the set_max_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-max-size", + "markdownDescription": "Enables the set_max_size command without any pre-configured scope." + }, + { + "description": "Enables the set_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-maximizable", + "markdownDescription": "Enables the set_maximizable command without any pre-configured scope." + }, + { + "description": "Enables the set_min_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-min-size", + "markdownDescription": "Enables the set_min_size command without any pre-configured scope." + }, + { + "description": "Enables the set_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-minimizable", + "markdownDescription": "Enables the set_minimizable command without any pre-configured scope." + }, + { + "description": "Enables the set_overlay_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-overlay-icon", + "markdownDescription": "Enables the set_overlay_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-position", + "markdownDescription": "Enables the set_position command without any pre-configured scope." + }, + { + "description": "Enables the set_progress_bar command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-progress-bar", + "markdownDescription": "Enables the set_progress_bar command without any pre-configured scope." + }, + { + "description": "Enables the set_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-resizable", + "markdownDescription": "Enables the set_resizable command without any pre-configured scope." + }, + { + "description": "Enables the set_shadow command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-shadow", + "markdownDescription": "Enables the set_shadow command without any pre-configured scope." + }, + { + "description": "Enables the set_simple_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-simple-fullscreen", + "markdownDescription": "Enables the set_simple_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the set_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-size", + "markdownDescription": "Enables the set_size command without any pre-configured scope." + }, + { + "description": "Enables the set_size_constraints command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-size-constraints", + "markdownDescription": "Enables the set_size_constraints command without any pre-configured scope." + }, + { + "description": "Enables the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-skip-taskbar", + "markdownDescription": "Enables the set_skip_taskbar command without any pre-configured scope." + }, + { + "description": "Enables the set_theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-theme", + "markdownDescription": "Enables the set_theme command without any pre-configured scope." + }, + { + "description": "Enables the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-title", + "markdownDescription": "Enables the set_title command without any pre-configured scope." + }, + { + "description": "Enables the set_title_bar_style command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-title-bar-style", + "markdownDescription": "Enables the set_title_bar_style command without any pre-configured scope." + }, + { + "description": "Enables the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-visible-on-all-workspaces", + "markdownDescription": "Enables the set_visible_on_all_workspaces command without any pre-configured scope." + }, + { + "description": "Enables the show command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-show", + "markdownDescription": "Enables the show command without any pre-configured scope." + }, + { + "description": "Enables the start_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-start-dragging", + "markdownDescription": "Enables the start_dragging command without any pre-configured scope." + }, + { + "description": "Enables the start_resize_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-start-resize-dragging", + "markdownDescription": "Enables the start_resize_dragging command without any pre-configured scope." + }, + { + "description": "Enables the theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-theme", + "markdownDescription": "Enables the theme command without any pre-configured scope." + }, + { + "description": "Enables the title command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-title", + "markdownDescription": "Enables the title command without any pre-configured scope." + }, + { + "description": "Enables the toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-toggle-maximize", + "markdownDescription": "Enables the toggle_maximize command without any pre-configured scope." + }, + { + "description": "Enables the unmaximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-unmaximize", + "markdownDescription": "Enables the unmaximize command without any pre-configured scope." + }, + { + "description": "Enables the unminimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-unminimize", + "markdownDescription": "Enables the unminimize command without any pre-configured scope." + }, + { + "description": "Denies the activity_name command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-activity-name", + "markdownDescription": "Denies the activity_name command without any pre-configured scope." + }, + { + "description": "Denies the available_monitors command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-available-monitors", + "markdownDescription": "Denies the available_monitors command without any pre-configured scope." + }, + { + "description": "Denies the center command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-center", + "markdownDescription": "Denies the center command without any pre-configured scope." + }, + { + "description": "Denies the close command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-close", + "markdownDescription": "Denies the close command without any pre-configured scope." + }, + { + "description": "Denies the create command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-create", + "markdownDescription": "Denies the create command without any pre-configured scope." + }, + { + "description": "Denies the current_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-current-monitor", + "markdownDescription": "Denies the current_monitor command without any pre-configured scope." + }, + { + "description": "Denies the cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-cursor-position", + "markdownDescription": "Denies the cursor_position command without any pre-configured scope." + }, + { + "description": "Denies the destroy command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-destroy", + "markdownDescription": "Denies the destroy command without any pre-configured scope." + }, + { + "description": "Denies the get_all_windows command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-get-all-windows", + "markdownDescription": "Denies the get_all_windows command without any pre-configured scope." + }, + { + "description": "Denies the hide command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-hide", + "markdownDescription": "Denies the hide command without any pre-configured scope." + }, + { + "description": "Denies the inner_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-inner-position", + "markdownDescription": "Denies the inner_position command without any pre-configured scope." + }, + { + "description": "Denies the inner_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-inner-size", + "markdownDescription": "Denies the inner_size command without any pre-configured scope." + }, + { + "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-internal-toggle-maximize", + "markdownDescription": "Denies the internal_toggle_maximize command without any pre-configured scope." + }, + { + "description": "Denies the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-always-on-top", + "markdownDescription": "Denies the is_always_on_top command without any pre-configured scope." + }, + { + "description": "Denies the is_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-closable", + "markdownDescription": "Denies the is_closable command without any pre-configured scope." + }, + { + "description": "Denies the is_decorated command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-decorated", + "markdownDescription": "Denies the is_decorated command without any pre-configured scope." + }, + { + "description": "Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-enabled", + "markdownDescription": "Denies the is_enabled command without any pre-configured scope." + }, + { + "description": "Denies the is_focused command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-focused", + "markdownDescription": "Denies the is_focused command without any pre-configured scope." + }, + { + "description": "Denies the is_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-fullscreen", + "markdownDescription": "Denies the is_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the is_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-maximizable", + "markdownDescription": "Denies the is_maximizable command without any pre-configured scope." + }, + { + "description": "Denies the is_maximized command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-maximized", + "markdownDescription": "Denies the is_maximized command without any pre-configured scope." + }, + { + "description": "Denies the is_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-minimizable", + "markdownDescription": "Denies the is_minimizable command without any pre-configured scope." + }, + { + "description": "Denies the is_minimized command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-minimized", + "markdownDescription": "Denies the is_minimized command without any pre-configured scope." + }, + { + "description": "Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-resizable", + "markdownDescription": "Denies the is_resizable command without any pre-configured scope." + }, + { + "description": "Denies the is_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-visible", + "markdownDescription": "Denies the is_visible command without any pre-configured scope." + }, + { + "description": "Denies the maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-maximize", + "markdownDescription": "Denies the maximize command without any pre-configured scope." + }, + { + "description": "Denies the minimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-minimize", + "markdownDescription": "Denies the minimize command without any pre-configured scope." + }, + { + "description": "Denies the monitor_from_point command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-monitor-from-point", + "markdownDescription": "Denies the monitor_from_point command without any pre-configured scope." + }, + { + "description": "Denies the outer_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-outer-position", + "markdownDescription": "Denies the outer_position command without any pre-configured scope." + }, + { + "description": "Denies the outer_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-outer-size", + "markdownDescription": "Denies the outer_size command without any pre-configured scope." + }, + { + "description": "Denies the primary_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-primary-monitor", + "markdownDescription": "Denies the primary_monitor command without any pre-configured scope." + }, + { + "description": "Denies the request_user_attention command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-request-user-attention", + "markdownDescription": "Denies the request_user_attention command without any pre-configured scope." + }, + { + "description": "Denies the scale_factor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-scale-factor", + "markdownDescription": "Denies the scale_factor command without any pre-configured scope." + }, + { + "description": "Denies the scene_identifier command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-scene-identifier", + "markdownDescription": "Denies the scene_identifier command without any pre-configured scope." + }, + { + "description": "Denies the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-always-on-bottom", + "markdownDescription": "Denies the set_always_on_bottom command without any pre-configured scope." + }, + { + "description": "Denies the set_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-always-on-top", + "markdownDescription": "Denies the set_always_on_top command without any pre-configured scope." + }, + { + "description": "Denies the set_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-background-color", + "markdownDescription": "Denies the set_background_color command without any pre-configured scope." + }, + { + "description": "Denies the set_badge_count command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-badge-count", + "markdownDescription": "Denies the set_badge_count command without any pre-configured scope." + }, + { + "description": "Denies the set_badge_label command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-badge-label", + "markdownDescription": "Denies the set_badge_label command without any pre-configured scope." + }, + { + "description": "Denies the set_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-closable", + "markdownDescription": "Denies the set_closable command without any pre-configured scope." + }, + { + "description": "Denies the set_content_protected command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-content-protected", + "markdownDescription": "Denies the set_content_protected command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-grab", + "markdownDescription": "Denies the set_cursor_grab command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-icon", + "markdownDescription": "Denies the set_cursor_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-position", + "markdownDescription": "Denies the set_cursor_position command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-visible", + "markdownDescription": "Denies the set_cursor_visible command without any pre-configured scope." + }, + { + "description": "Denies the set_decorations command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-decorations", + "markdownDescription": "Denies the set_decorations command without any pre-configured scope." + }, + { + "description": "Denies the set_effects command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-effects", + "markdownDescription": "Denies the set_effects command without any pre-configured scope." + }, + { + "description": "Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-enabled", + "markdownDescription": "Denies the set_enabled command without any pre-configured scope." + }, + { + "description": "Denies the set_focus command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-focus", + "markdownDescription": "Denies the set_focus command without any pre-configured scope." + }, + { + "description": "Denies the set_focusable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-focusable", + "markdownDescription": "Denies the set_focusable command without any pre-configured scope." + }, + { + "description": "Denies the set_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-fullscreen", + "markdownDescription": "Denies the set_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-ignore-cursor-events", + "markdownDescription": "Denies the set_ignore_cursor_events command without any pre-configured scope." + }, + { + "description": "Denies the set_max_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-max-size", + "markdownDescription": "Denies the set_max_size command without any pre-configured scope." + }, + { + "description": "Denies the set_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-maximizable", + "markdownDescription": "Denies the set_maximizable command without any pre-configured scope." + }, + { + "description": "Denies the set_min_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-min-size", + "markdownDescription": "Denies the set_min_size command without any pre-configured scope." + }, + { + "description": "Denies the set_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-minimizable", + "markdownDescription": "Denies the set_minimizable command without any pre-configured scope." + }, + { + "description": "Denies the set_overlay_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-overlay-icon", + "markdownDescription": "Denies the set_overlay_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-position", + "markdownDescription": "Denies the set_position command without any pre-configured scope." + }, + { + "description": "Denies the set_progress_bar command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-progress-bar", + "markdownDescription": "Denies the set_progress_bar command without any pre-configured scope." + }, + { + "description": "Denies the set_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-resizable", + "markdownDescription": "Denies the set_resizable command without any pre-configured scope." + }, + { + "description": "Denies the set_shadow command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-shadow", + "markdownDescription": "Denies the set_shadow command without any pre-configured scope." + }, + { + "description": "Denies the set_simple_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-simple-fullscreen", + "markdownDescription": "Denies the set_simple_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the set_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-size", + "markdownDescription": "Denies the set_size command without any pre-configured scope." + }, + { + "description": "Denies the set_size_constraints command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-size-constraints", + "markdownDescription": "Denies the set_size_constraints command without any pre-configured scope." + }, + { + "description": "Denies the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-skip-taskbar", + "markdownDescription": "Denies the set_skip_taskbar command without any pre-configured scope." + }, + { + "description": "Denies the set_theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-theme", + "markdownDescription": "Denies the set_theme command without any pre-configured scope." + }, + { + "description": "Denies the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-title", + "markdownDescription": "Denies the set_title command without any pre-configured scope." + }, + { + "description": "Denies the set_title_bar_style command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-title-bar-style", + "markdownDescription": "Denies the set_title_bar_style command without any pre-configured scope." + }, + { + "description": "Denies the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-visible-on-all-workspaces", + "markdownDescription": "Denies the set_visible_on_all_workspaces command without any pre-configured scope." + }, + { + "description": "Denies the show command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-show", + "markdownDescription": "Denies the show command without any pre-configured scope." + }, + { + "description": "Denies the start_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-start-dragging", + "markdownDescription": "Denies the start_dragging command without any pre-configured scope." + }, + { + "description": "Denies the start_resize_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-start-resize-dragging", + "markdownDescription": "Denies the start_resize_dragging command without any pre-configured scope." + }, + { + "description": "Denies the theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-theme", + "markdownDescription": "Denies the theme command without any pre-configured scope." + }, + { + "description": "Denies the title command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-title", + "markdownDescription": "Denies the title command without any pre-configured scope." + }, + { + "description": "Denies the toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-toggle-maximize", + "markdownDescription": "Denies the toggle_maximize command without any pre-configured scope." + }, + { + "description": "Denies the unmaximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-unmaximize", + "markdownDescription": "Denies the unmaximize command without any pre-configured scope." + }, + { + "description": "Denies the unminimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-unminimize", + "markdownDescription": "Denies the unminimize command without any pre-configured scope." + }, + { + "description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", + "type": "string", + "const": "opener:default", + "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" + }, + { + "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", + "type": "string", + "const": "opener:allow-default-urls", + "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." + }, + { + "description": "Enables the open_path command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-open-path", + "markdownDescription": "Enables the open_path command without any pre-configured scope." + }, + { + "description": "Enables the open_url command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-open-url", + "markdownDescription": "Enables the open_url command without any pre-configured scope." + }, + { + "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-reveal-item-in-dir", + "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." + }, + { + "description": "Denies the open_path command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-open-path", + "markdownDescription": "Denies the open_path command without any pre-configured scope." + }, + { + "description": "Denies the open_url command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-open-url", + "markdownDescription": "Denies the open_url command without any pre-configured scope." + }, + { + "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-reveal-item-in-dir", + "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." + }, + { + "description": "This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n\n#### This default permission set includes:\n\n- `allow-exit`\n- `allow-restart`", + "type": "string", + "const": "process:default", + "markdownDescription": "This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n\n#### This default permission set includes:\n\n- `allow-exit`\n- `allow-restart`" + }, + { + "description": "Enables the exit command without any pre-configured scope.", + "type": "string", + "const": "process:allow-exit", + "markdownDescription": "Enables the exit command without any pre-configured scope." + }, + { + "description": "Enables the restart command without any pre-configured scope.", + "type": "string", + "const": "process:allow-restart", + "markdownDescription": "Enables the restart command without any pre-configured scope." + }, + { + "description": "Denies the exit command without any pre-configured scope.", + "type": "string", + "const": "process:deny-exit", + "markdownDescription": "Denies the exit command without any pre-configured scope." + }, + { + "description": "Denies the restart command without any pre-configured scope.", + "type": "string", + "const": "process:deny-restart", + "markdownDescription": "Denies the restart command without any pre-configured scope." + }, + { + "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`", + "type": "string", + "const": "shell:default", + "markdownDescription": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`" + }, + { + "description": "Enables the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-execute", + "markdownDescription": "Enables the execute command without any pre-configured scope." + }, + { + "description": "Enables the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-kill", + "markdownDescription": "Enables the kill command without any pre-configured scope." + }, + { + "description": "Enables the open command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-open", + "markdownDescription": "Enables the open command without any pre-configured scope." + }, + { + "description": "Enables the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-spawn", + "markdownDescription": "Enables the spawn command without any pre-configured scope." + }, + { + "description": "Enables the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-stdin-write", + "markdownDescription": "Enables the stdin_write command without any pre-configured scope." + }, + { + "description": "Denies the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-execute", + "markdownDescription": "Denies the execute command without any pre-configured scope." + }, + { + "description": "Denies the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-kill", + "markdownDescription": "Denies the kill command without any pre-configured scope." + }, + { + "description": "Denies the open command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-open", + "markdownDescription": "Denies the open command without any pre-configured scope." + }, + { + "description": "Denies the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-spawn", + "markdownDescription": "Denies the spawn command without any pre-configured scope." + }, + { + "description": "Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-stdin-write", + "markdownDescription": "Denies the stdin_write command without any pre-configured scope." + } + ] + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a null JSON value.", + "type": "null" + }, + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Target": { + "description": "Platform target.", + "oneOf": [ + { + "description": "MacOS.", + "type": "string", + "enum": [ + "macOS" + ] + }, + { + "description": "Windows.", + "type": "string", + "enum": [ + "windows" + ] + }, + { + "description": "Linux.", + "type": "string", + "enum": [ + "linux" + ] + }, + { + "description": "Android.", + "type": "string", + "enum": [ + "android" + ] + }, + { + "description": "iOS.", + "type": "string", + "enum": [ + "iOS" + ] + } + ] + }, + "Application": { + "description": "Opener scope application.", + "anyOf": [ + { + "description": "Open in default application.", + "type": "null" + }, + { + "description": "If true, allow open with any application.", + "type": "boolean" + }, + { + "description": "Allow specific application to open with.", + "type": "string" + } + ] + }, + "ShellScopeEntryAllowedArg": { + "description": "A command argument allowed to be executed by the webview API.", + "anyOf": [ + { + "description": "A non-configurable argument that is passed to the command in the order it was specified.", + "type": "string" + }, + { + "description": "A variable that is set while calling the command from the webview API.", + "type": "object", + "required": [ + "validator" + ], + "properties": { + "raw": { + "description": "Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.", + "default": false, + "type": "boolean" + }, + "validator": { + "description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: ", + "type": "string" + } + }, + "additionalProperties": false + } + ] + }, + "ShellScopeEntryAllowedArgs": { + "description": "A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellScopeEntryAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration.", + "anyOf": [ + { + "description": "Use a simple boolean to allow all or disable all arguments to this command configuration.", + "type": "boolean" + }, + { + "description": "A specific set of [`ShellScopeEntryAllowedArg`] that are valid to call for the command configuration.", + "type": "array", + "items": { + "$ref": "#/definitions/ShellScopeEntryAllowedArg" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..58a5728ee954ccce1ea1f4db0f326e97ea3a0b05 GIT binary patch literal 5918 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 A_y7O^ literal 0 HcmV?d00001 diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..2f083d8f9de16da07bc3c5f182ea4eebf8b099f2 GIT binary patch literal 11515 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 LNkvXXu0mjfsM~9= literal 0 HcmV?d00001 diff --git a/src-tauri/icons/64x64.png b/src-tauri/icons/64x64.png new file mode 100644 index 0000000000000000000000000000000000000000..e1d33e1e85db581dfa0e830be83175f3a3ad000f GIT binary patch literal 2851 zcmV+;3*7XHP)P zLW9tZVooFnRudbH*~}gcHV_ge3I}#J_ZaQ)Nd`hucEI>toQbfMlww*&o0p${UF19Rd20c%uJdyHf)R(_g?xcK|@~>34jq0AE z=N8JX^!&u=Cxn9fiTOdd6l<;2>vMLLI$6uhISGfzo+~io%1%5z z1K5k|VT5hIWEg>WGNFVp)QM6vwzL`$6mQQCZ@7VXGT|*59g;b1D}~*c)9Ya)JhjyD zOeX#1gssWx4=hvlS@N)%i}Wd)GZLrb4@k*-yxzvIu ztOYkTcEb<6$KYK{|LN1Gy4<#Ho0>Llnwmdkc+z%5p^%z8cW$pfTqZI3 zcL?)8u!bODv4;1evGU@|;ceZzRUJNjSS?<>Sc91`VM2oFtgLt}HDbhw_yR&CqQUp{ z^r)(;DqSD-pbf|ZblkXc>e#Vks;sO`9XWDDZP~J=UuT&C17eJ|(vq z`Es>!*u>6$sv1_1;{06f$l;1?`dkN^*cicjzC-C`EhV@B}<;e$ARS8a(`k*t-u5NMNNl=VIX_ z-;Ws|2sFoNVM0eohn6Ck0B3gcF(}M zI8?7@fUUX^4+*Xr0Evj_MzGV`+Nyzr8Kx$zUcFiaEGQ^Yd-m*67cN{-mo8n>ZOoiG zQ~L^}t5>gTt%2m%u3f99Oqr4hmLy&<`}F7sUZkBSyF7 z=O)h;6&0$nu`wy}@(tP{{^HuTYuf7%&^iIIc7OpbT zd0oDIIq?o4043T0^GQtN={GP7%*2Qyj?hQ&ak70~d0@$bSV#`xDS=KlFb&qMn$$?jR|p3S7^fCy?a$@X=yK_;RMBR$S5F@U4DLk!ki@N0TZAJ z2!p`{Fw>wB5t`L3@M=GKwIK2IIh74_Y8t8xab(`w!ecg!Lsm~t+<_!J7aBNRUC*XD;Aufq|-R$&qX9#Vx#fI;E} z#d(5Ji2hIqOhDKSCg8it1UqK?b~p^!1H6?S@fr`93ly+bfQQ2}!Qa1sUjs3n8^9wl zx_UzzHyMs9*xx0C+F~^)Y;k=XW^*SO(_A))F@F8g?Qm!&sP59GOZAFx zvIGVJ42DNAMn;77>({FtJ9hM`4~;>6gw{SBvjeuDNoe^vbsFLWhTT;Dj|i#t!T?AX zk~@3$tRBKJl@*64E4|n#*}i>y0=yaDW3J!S)T9F`ai{6c6!KcV_+^0Ps`IGN_^EEw@2F``DrFG%}- zbymeMR)0<9zfItSes#9L%hN>QNXk_zetG(J6~A8?^x)mGPJv5X-%xw?lphU=%hQ=$ zpU3rDA{g7j#YF3TK9BS)*XK{ub1ROt4%GGe{{y1@1Skj(3PJz?002ovPDHLkV1k~x BQ!D@g literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square107x107Logo.png b/src-tauri/icons/Square107x107Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..47242eef23ac4e54de748f5b8e25f6d09473a69b GIT binary patch literal 4943 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square150x150Logo.png b/src-tauri/icons/Square150x150Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..80f16401c2fed75098ca3bdd721a67a606a2a8db GIT binary patch literal 7073 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 LNkvXXu0mjfze0Ke literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square284x284Logo.png b/src-tauri/icons/Square284x284Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3fd58d4a5caed892ca8a5bcda8a43ed55b899375 GIT binary patch literal 16818 zcmW(+Wk4I<5)A|?PK&!1XmJScg<=g*+@-h|cP&<20yMb07I$~I;_mLQFW>u-KbzgV zckj&Xo^$5h(C_k67^uXk0000(Mp{A%0DvR?@AnP~b_DMlZ5;p*bC;12Q*m27NkeWR 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square310x310Logo.png b/src-tauri/icons/Square310x310Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d5ff7f1b140227e0f8fb1438b744ceeef011b95c GIT binary patch literal 19261 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

8#CGMibYjp^DNX}k1*6Qi{&7#rg z0ekJ=X3C0Lg-LeLJ@+_PoCTxovvKk{D0ax5bX)H6SANbu#t1Q9YzkrJj%St2{J%$KaPouj|>91?~v~TmasjLA-e86-QZ# zu#}!)be$k6CPmN>PiK2=!pK4j{3Jnp7e%IAK%`?@RGBgG$LIWk0pw*bZz}lZ7o#o0 z-&H(!7`k5Ky2T(_1I`L)#%FoUrcV6@?T#`>(Nh8-5}C~g{iz-VWOK8do-<#3NpXi4 z_7$NsfFPo_x9EwNPC<`Xr}xuhuo-^_2f`b&BBUalvSdno3}@i!pEr4}a~ZkRE}>O# zs1Lb!FW=CP-k3R=9ormAt;y@nG>EO95Ae`p#Dr8^LvTdz)vjcOu zd4KDK0c%y^B4yJ+3G#;Rg&ZVuNCDyWyNtTcE0Ere4WkqR}STP%qN@zpAQ1Q1x zg@x^rc0-XEJqt9)gJ@;A_Ge zIaFurmTGUB*yyaqKBWZUk@nGh+47He(an=$Fb>bF@KEl>0{5{ z)8l?!)YnbLLKWsp=#)u*Tu^+%JS9VX!S_C_spm>bR)UNAl$mHZ;}f!il4vBOfzlQE z7jn<*+`MFzEjvdEk15lu*|TC~6j7e=pPr<3))nU>YErd&(lT{{c074)w5Y$m6V#Wh zmYaRplt?*y4~UvvuuUIn>)S6YWQ(x41Fjm+@SAodEL*_;Ha|2ZIPJ6v{!n!cF3CBe zqW?A2mfmA(-djc{!j%qEps1{>aKs6!r}edwH`E`$sQAi*u=*6J^8$^cxTB|O+q$bT zuXF-T@y;*n^Zmv;I&}rO+z{X*+zWv#&uNRZW3h7nayVs#IWKa)V%lEf?btGb{&sQ& zG#9K+D*dNI5n_Zudfb!On6xRz6Mrk14jRH&dud6vXoMyT^Th?wVMH9*-Ij2W0mT=_ z*@HYvt$T)5d#Bv$3LPsO>;fs`@Sav0kIzGPckwM0i_2YGg}rYMrgzh5d?c`uQLMSfwnrC1AkI2Sa!Oo=e#{ zHPtlGc-)H+bYS(%8VE88rbI|O{QLbHSz`Ht4Tel2q~d-%yvit!6v8KC8mf;N0s&Aj zyqD}%qp>6knFHk^g|d22TkhKbbDD|1p7h7&VoJ9o8_=zs&>V3kejCFfDib$u@UKuY_VNNwA&W_ zCD$=l~)0f;$#d zQ6$8c<}uSzu;&feC%SVCxY$}{Pflkex(`BwbfjAI7{w%VU;QP%0AD!mV$`a)8Nk$l z$0pC}q!K=X8>X~(ubt_chvQ83MBU6M3rG+DKbk30VicF5MzP z3tNkEaGYB_B4`iRXp8Y(!4if7y7tq6uCjGYMr!eAYU(OZW(ir3d~cb=eWL}i6$24O z2u*nMzJBT%UG!MyC`DZ4hA9SR0xTdrYGN!hN-1py%AaYOM|yhh!GlzjTLs z*DJ8|CvThU#3YJ$A?7MgSnh5xGRm4>vhI(nOXgJb(Jo@H}*=BQ80{^1bk);RnAU}RNi^z z*^knvqswv{=D=CCC8H?b!{dS~p?5-?5>!PNq%D!WD*3b?ZpG8;#Y~1%$Jo9I^m!!7 zBB`R-7r-FKa52Ph^?4Dw_6cGd)^p+NsD?2>UFS5Z=0%4ffd!}x>dfJ&CLW;~_-3_z zViq}rpMpzcJPhVij}o@dQma&RNt;9OwzdJcKGu>YCiLeWu z=+bYb3#Ui_-g03BEcJw9cV?ly4(ELtc?3dDBW<8Kv>eJxOZpcQ5fxGg{v1WD-ySq7 z<=>tblz+vt`<@k>%%PrLs2nw5>RmxLZZK;JgA4yi3rn%b&O!f4ZcsO#4}`h2eDgT! z`*M9ME|O5Jo+!R?GvPD#dwWopa_h&pVj9sv%i~Ghr&pbYkDg>b-oWl^!g!Tdb@F7S zC@)1p^(-6Mb3TQgoi}?qEFZ$!d76z4Ctnhwopa+Yet;xWJbg zf~3fXE%-CGpV7r?p_#45_(w_whHk(f9QUqLA8k6m2r&q&V7R&N=T4-5TeRTLE?-~B z*WE~n>gZn27C>y3i>r++aj9RFT{lk3oreTrys3K_pKj<9p@2>MCaO#6-(eVFk~{`A z66Txr%!_xXq>t`vMsox0Kj{4NL4j7gGj0o$)`+jX)V&t%t+)EC;(6NS{Hm0RpGG}A zBRz}rw`>oEf~8~Hu&P*2cLBsK$%T%g`OLqxZR^p`zlNR<7bDMl0yzRg0v2;TVxBp3 zz!TIKS`yC25iM!im$ijiJB%XU)RjBmOigFgxkTjZdeji0zCTqZ4w|#00YZ&z(?W^l z6lt&t#*$GXU`PquBZ@lz_PBLRd>8Hs{L(P2b2~aAybpM#w{u!#Q(%J$0-$Fsde7l; zopzxCM)y`+#~T1R8QI^*K+;~~!Lw=DLk%xC6`bA^V650YN)9LZEoN~%JTB<*9*0+& z(;g~ytHI{uV5rt#+6au98_V~AR-5)^K}^)wY@HuH4&#OoY)$+ARs$|I#1TprAw8{^ zpW%)<0cKQkb&3!bndqS>jJNfD!-qxl7^C>eFyU8sDIwLSrhYck5n<&~Jn@yh$?@&% zeK>|v#*`Z*(EoIF3Ipe)qxc6&z>JHQQ7i$@9)F9DnO-3Y2Ch5-+A!A!ih2zJQal<~< zP7PwZZ&8Q_imnUMxX@ciYZ0HeHdD>2_D9@^WJv$gO~TX^C{{pw-e1{|VS59Vmn$nG z3hOJJ@AKkb>$K>#zpSK*P!jH~fJX6~e*V>;qymHucqb~#tPpeOAm)@ZFm(@Et_=m? z7Nx0x-ZwB9sV|1o_pfiMPiYc`ct-EtOd?XGYa7^{n+@ zdSopY5u7c8ThlCW8Nv`LT z$o)!IJvO3&;u6_r0(PnPnj4}|&5cqBF=Z#_4GQDqr43iCKs+<5ruIsR_}nsu36eR= zM(IT2>0!&aeYL__Z#e$X>a|*acnioyx$I}?IO%HhocF(XPxM(i>kL5!hGVXyM4e)rp^_sG|Wc{|uu{gOz8QOEK!`;pg?FO@n{QzazBU92rV?EBS9bx;`$ zQ&h7zUACSo`xmx!Sar6Onqxt5MIfU8Z3$5q2Na2vv|t=%G6cYS|0Wj!0Y}H6;V@1|q*PS#@qOHU;J+u^o~h2m zb6@Tvl{8xp9ItqX!ZwalG63^FEdB(~t9$kixw~0g+82LlbSQ1S^CrQ@)Ul=XKdV#s z8P2=7Ja(*@?bUkYUW*$K#&>CvIraAa=_8_x4WZsxHDn{#nK<)^MXxVy)JJR+|4;#yp!nlu9C~B^KCJt;NL2 zufqu$Ps+o8ld-|cNuy9GCK9p$V?Fku?8T?#*c5g%mRi-=lqt>F^P?u)2;yIDMNSHZ z5}kZz6^qC0UOZ)g64=@h=O%K%Rsw-4{3VN2QYfLbpT;&g{wLXczn49DFe!0rRS#_D z)E=dXa();SZL+CX{(LnGh0=DSK!FQ;>{lp5Bztdn(#=nkghG>LCd_ASg!9Al>w(Gt zxykk_Rd8dcc?zZNy$UckS)baYPHFGNk_9GD6mhj^Z3=Dxx}E}Vv*q!h%NQHL;7}-( z^4L$1bibA{NA}o0tEp8Ds8waElB&bDtzS1e{gI5nlrf(7CWX=_K!dC^+44h=!msV_ zH&caqU#1!X&T4L*WdXh`PyMZoiM&rKl(J=wjDJ8#hwa#&sy09~wUAuy1GgLGslStP zmN}UM(#U(2LNSHXq;eSrGX7pb?S*OwwVD7n$1Lq2<4OUzU&vE4ERk@+WNSuID3nv> zgj4fyf$W`M$=+FjqOa9zewu1yMNRQqZYjGU^JRgK$TQcdH}W@qazF0)shN7lZTf( z9k9~8-zla(I!UGN@pah?zqTYnVj8a)`q)gXQn2t#WD|Gi$2qh5$#Y zAwYBQ=MA>x*JEJ+`&8Ey4h9h~c?J#!m(0t}rJvHxV4EU0#jUnd z$e4f|heAmj%|5CkO~^ZLAXF0Nh|XTqMVta&sY} zewf2jsZ*D8N+}o6ntk`s7P;5nkmEeL-;Wo)Y1rSl?J$!hKE@8^d@=!I+M*@=w5`) zqEHIm8~aT*b6~ymWgPRA84NTzGY;8=cr<8b&&zn(g4+QC z8G$V^nw#?+$|6mW)2n1$X|jDzJDZa%s@~WHx%x?eYH^yV7@OC*OvY<6UKKD~EBDZz zLiZJgz!sbT&5bLP=Rhb-ljkmykbUBWc(Tje!n((K=SGGyk7oF8#w;>zbnf^pzt0#c#YR%H~ z9V;6F ziT3BqI9tX*pYyrNSvPl3!VS;J1ax(4vSa|*&36RUR@jbEU#kC%EGL1j9sw>D3)j5WU`!(kTJw$%a#|?AP97o0kV7=@)4_veJX3STGnQj$yVI>#Fvzv;fvtW)&SX!T9gyo`P18w8-;%$bVX}$$r&%*L-v;G67YDIY=LmrHwT!JOyDe*g zaE&$4&g6WbFH|F??gN4ufsGOn6Xy>BK-dVhHkhjN{6#hh7$Dc*f?S&9Lq(kbCoGul zuwb@U=K5`GYHpMDI9zC*C-j>W`S<7oR3hzvl?A*3wG_zH(R%5 zeD^^r;ND0j9I!G4o=XL^P&{ryY`4|O0AOG=KehGF0AvS{gr1MlWN}9V8zlsPoNnHr z%>{;4HYC8Tk8IHXaz0d!ARiDMJka{*2Kj2p6>IaB@s-(06#>IaXjd*sWqhT6QmrT| zu+y@aU&}mvA;&E;4{-jYv^LDmU2?wL&t#T5-xLBHB}CGpkgrEx>j9m-6#h6=0Ujo= zMf@Dv4feG;to=;ZSJ%#thAQ)mxxO)g*mj)D^=*S@CS#j@ZjYOv8RXlvb4f;%z(z?* zjGPljqK{jG(sr_qYP`Ow(Be*)e=@{sdEITn%--@`FMAH+qJuT-(iZqSSo1b*N23!W zQK}j1*UDO~iQHrd%*JCDw3_VSj@fjj{qkMaq}(sx6-63%%5yL$w^%K0Ux90Hu#=Th z5HpN5Bd}4b5AcG3B_LQBg)@7|UI(x#&>@i@;09kF{s!%CkktVD*w%zy9H47-OvQ#G z<$N*@m>su87x!8d5n&cz$mi^|&4CZda{#r&05Un>CCA-z1b`haU`BoeObKAME&m@N W^d0ue96@#f0000ch9+t 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 + + + + \ No newline at end of file diff --git a/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png b/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8355239bc271de468322ad36390b97399fcd21f2 GIT binary patch literal 2248 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..cb011e7ee18f5cffe7209d2038651bf0d91a31cc GIT binary patch literal 2037 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 T+S2~g00000NkvXXu0mjf-+Dp* literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae05006b9a36d89fce51ad77874053f6f2107d1 GIT binary patch literal 1903 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%0API_+*y_74$I+)RlmQz?=a2wJ2+S} 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

;xFtXeh;K+ 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 Ef?!qiUH||9 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..f58d6ad8820fcdfc573d24b189329d7f1c07750c GIT binary patch literal 6308 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png b/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..eb0a4a7e80633e5302b00640663080077e5e052d GIT binary patch literal 31981 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

WYd3Rb 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

N$8epu@Ap zM`LF@ljkYUaW-A#j^%lNzf@|QvVabkb!@~NG*#Vqh}nM)ML+e0xgRG(c0wjfRNF17 z_6DLyXxABoMkH0wrHQ!sw!7Y-P1 zQJpxqUK<#{YHJh#m=5xa8ILQLxYW{-V3C<2nKxSINkW&fRGVmBVb$EjH+*qUNlzbR zR}kww(wS;}?ik$am`HM?r@M}azU>mx#BRtJ7>!>5}QnQg#pn<7(s8KAI z$~=i==RlrU?-HWwiou_>Zl>kruEsog6_q?;{m;NSoi{ob0-A<5aFL}>UOP1oQ|(S2 zz7MGnv)GM8EyHSdgTvxq1DtZd%4?l@$S2uwqOgP}Q$Y=AMDxwP){kLu8KL^aST{mA z`VZJ?{SN-`YeMd72oL#)1dx?g+Wrnp=lSHJbU`ZDk2-~^AarwBenpjN{9rE=QguGPAm9~b1VK{XN+z?vB@(+pSj*V3W&1Xx%dA`Ee^D}Fmz>ji@W7opYGeV^t zU0h&{J*cP#6nGB03*2bMLGNuC5m2f4rdi`2j~1tVxx_nvasu~0Xf2~(G#+3gt4mJi zEg01zb}eWT>Ojxj-QI*fI(v~N^UiBdXXrLl zeP*A5jiIuPg4GTP?m`z(IEdAz?u!>t+;$0tA2}ujp z_ZQz#<`4S_wV-~$eWqGlMI50*&6`#?$0oaBF?@{l*Gpb)J&j>vJccpM#tG z*l%C&V-YgZ>|9T8qm+6^w%!3XYc}4u6eX|<%h#|S*A>Wt6Y13hOREMq^|ɅE`~T2YzFVio_Xhj+MMp@IPwCG7za1dF7>LImGqO zsM*Ak&8(<#=4htq6i--M#dmwmk`H)Knd64s%rcYy&~~69uG#6$411$}ZP$`HW%z2; z;?eC}uJC)=MYrAs{mtgNoXOtqm_r~5dauvaxY3l^*)+Ok07@$ziUB129cnZ&-)Bnm zGk@HS@}$hkcNe@c?)MWrtevmQu@mSz*&a#kqXCj^?ITgY!eC){!Ig?v_tAfGtyvSl zhiR5~!^mD~h4|CTis^05r_do0Rq_I~m;-Nm^|MROJTXb8FF6T{EUbT_V&`Q&zwpb# zACcp-<3ni+{Nd(`DJDaq{bC`iO#%52tAj0U%gz(SD8Z(($x50Q2N%tqnP1=)2t^;e z%akCx+R>G=W?1YxaHcn!(0qHQW--Ll9Bv5Gp_T!+2i=pLu$)*cv9t8xX7b!r(G&rLe#lwM~~ zW15OS_O>H&YV-PNX?KXq0LT~-ra+8Wgzat-1NK?S@-h0(1z<*4u4T7mgk;-p zl2WdN6l2zJ6H5MY{Ornl6*l0L9;THg`1eD|B(w10%eT$PnYuLGZQ zY>kid=N9uKiH2HUBonKzzDx==lNn$T+Z;b?{7#6SmdVGB!G2QfP;X{5{`v0@ p!6y}hq39@JRMh`6In8@gnkPYt(gw8251$ + + #fff + \ No newline at end of file diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..c0c0400dd8e33929dac32931ce352d47fb17057e GIT binary patch literal 230048 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

nU@>1dG3Rz911Q!!oVM(Amh>^ zTufF*Sx1C{?r3YEdA8Q?;XqmhK;*+~nId5cRmrAYOV1IQ*ZHrajFE&jQx8gh z9RBw{t!3!>Jt)OX=cm{Mb$0ro!Xc)$GJixagM9ghEbIHDbY}eak8v?t-3(SHlN8-u&^ojw173 zdeqvS?9X{81C2@R`@0zK$lVrf6Fxv&Te<0T?tPpyC*b#)Y5lwWH?+)RSMP`C@&Blx zaSLL)G9F9?Tzvlxd(o{A;Q5h}q=DN3gl=|nUFFX<@=nfa`fbpdGbQxg+|0QNm0Y?} zg+H~QIFkQ<6CX(Lw8Fa-oy>T4*eUm~INpr&S>*ENA4HkEKp_R>9fnl@^1bJLvR$Wt zYHx*gotecbQ?vA`l!RNepuMAH8Fd4l2!i`2I6lx}rch`->bvNF<3^5Ytq^t@DtJtw zx1h~V`trUJ^nN-Fiz-Yw{B?zRl(mAq66gU!ss3;Gio4==>HyJ8MF8*{F~ynJEXDy# z`pG=0AQQ@j#@xY*AEJO9F!R;|t-n~HC=&tlT1xx|OQfY%@)(};w`k1uKA%_4)zHFJuIfCzbk8*n)?hyb5 z2f%Ar0JZ**y0HS$z^L2%sZ3@Ca*^7Vw5j?4>9K1&?fbM58Ca5W>~(>jUkXBA? zMAJE&7wzv&zTDmeG-05@GGE*XXb>=1Z%r0E5^`rQZ_IwuNjT(fN0Ms`ABQ`X%~n~1 zcHU0n6V7#YfHwzhr!Xa1qW#*aa?g}{X?c9L*jss98y^r(K~SkES&yG3MC6g$wTK|!%GuDouc3D2@-~2j!^4l+KntCP-lKd)J0D3q;eyI(*;SC zxqIKKzQh2K-j#6U=58FWYO(ao+3-7Eggce7lHvlJrusEvV@ciX26eYeqj(he8*Wrl zEbr13r^YY-0EKWB1u*qx0*)8$b1?y3Ss$^OV#(mqBSyQg2E!8=IM2d_OA@Z4^TR^ta9;|SNt!nbKoT#V!XARS&RbYyV< zYIE<)MfpxX?^=m*M`fX)$9^ z0E~8G_OZ(*BS^ocw&eTXt5BTIF9 z_3gu7Q3~RRe}VLBVZ(3)-v@X=rD17TET*uX$#~Vr;q&Oyp2j6e(b^T>+ZKD6nPQ=l z4(ZJK?>pW)w%win!@>KpmrHh(7{xGPk}X($<#N+(zOJ{8q!yGXIMp~g$7QZMObwjQ zsd}f8wJ-}X6Z|VsmE`9xcl&!!UH$-eaCtIb<8k3$KiG>KKWkOX5A(p|X`xaRkIKJ&NrYl}zI6kxJxXswcYgv&z z)9BoLE>!zBC_jVa!P*X*2HQ9P-0yBCysMS>n-W@p`fsnn;*mo9$oY^tcC_wgL+ZWk zpmf0`cFucTqA~7pAcJ0&CbCm^zSD6IFVTuez4{GW4rZM#c2?_ zS85>g&r6bJ z1q$7hTB!+~0$!#JhvJ^t?=je>yO+#V3G(AVc*JtH76*7)q=W4$P&o_qs_|E}{uQfS z8YT|3jwk-gz&4NbP#*{b`IO6HefPK+eqh_NvlZVnxcn9a3tJ^Ikze>em7#7mFc~q$ z)PY=KcXit9tzEUu8`~-glS`MhwhoYakraHl(LVP3!LvD<`D@C!3@~h`&%J{&t7F2S zE1H1$BN#W%tYrs{)p$7$0zhBdL<_4EJ0+)n1 zY!2m2VHZ|*wD1fnqBKcZZhqe36yXvh~~We$uoF+Nt#;D%|z!c z^ryP>FmZk@=lwih@HzC}6S9fM4rflhlwdCKg!0k`4e230Q@fm~H1#^ezbN4oswWJ? z62c>%jsd3Z>PA3vj`@>At=`QKSUw)%CA~*((xNmSt#P+Zg5P~YP1NTbPCz%U2SycV4qaT8-*3(25L62AmVTQ z$a%v&^t5kR?)(qDS$Du`(6AZmcK;2Ev|v=o`x`)Ym-$-+1Nf;AfZF5n!1|yP7jQ9Z z?zrd`efz>q>R3o4Ui}{QhTlo{Q|W3;OTkG~zNt0u9&faBxF>W%TQvAY-I0RBoP*^I zJ2cjGG1zP%~$M!y#GKKX%%AA3% zT_}ac#6q?)HbD?aHYsu)U^763{{Qn|0gky5+Cs-ML(K zTqaz7e4i;l5z>U^6p!7WcD%A7Tv!^00&?DsD?}ahUH<8faiGWo5q*Y>7{K7yz{F_# zM3`NUPhL@_oPF-U_`O9Shdon!f2V#Yhwvvq^v;&s{=aP|T72eHul8LaUgyg-TlgqQRXb=fsC`tD<=3?_2OhNjyy@XeSRkFvU3 z`BY4FN^bh1+cCg4!*CT0BWNx_hC-~NdJAKLX0>iG_M2|sQw2;fRrNFmI4*)9}F z)V%`FUu9`$~e> zOUigM!pRNj`dB8j8D8OlgRF*&6tnL9tBjLVrmT8=-0Hu#FCQElf`t67TVw9p?0~0@ z5{wh(!R4oyxY5+DiQpav3cZ=MnO8QTX%jd|lRm50nz++_dHFxujs^V1g-ALxy1Ld# z(k^{hWRXFP2_J!I35^}x= z*t}G>A`51}nvCN`mg&#abYrHm?Q8Cn6kmxkC1UfkIq>Sx@`dajF;r&>4$2)@$0=`|4jb#4nk^B`E? z0|pJZ&Ns~|?ZDmHl7$6Sfz@J@AXL+sx=#xfqs3q2b1F*R#LpQtsO}-Aws&Q+ph_;L z-ndBlatngl(+5d%?~6^dm?bY~%ZlO!;KHXhm!iknjE&JQ9N*%!eWS%G)E%PSD_W+H zHmfpzR&Fg&(^`AUHvB^rhba_v{0K?;KuO;DoBh_3N#EvQA2F47){Yd~jNG%h_GkT4 z|I=u^I=U6d->{Qc%KCs9Sue$Sec*|$NrfX3pkp6sqo6geqNQyj$o@8Lh6~G8sG;mJ zoKpf)J&p@M@TgZ870>B^Zyiq&-3beP9@#abA0r(+v4bv@D%w|=h3md{G~~nQ!ME{7 zX|%59;C0tOj&>x8n6KWDT@tLK>E$7qhj%guFLAB|I#K|<6)QI1ke7QuU!bXNS-#xu zl#{up+L{aqK6{#+Qz*u!U3UZWF@*!=jpUlf`*M?&d$XGdW-h@|+9@>87g-dEF_(eQ z=G3z9u-2!ryQe0k#SjkfpW&nt%v!&{{bEeH5P{+fdYhhMaDtRCJ6p)Aap;>eDLIVa z_@O$BqL~(nvs*}fw`Sox=ycCZ%gZQ@8zna{zuJF?Tnm{BR3^*j`55;_;8c~f?xtrjaFT+y)i zTrt;-Zt>()Ezp`Z$lut!T5fNfR9^BWh!SFE3=7oK7znxC!J9N$R8+*AuM;G|FndJM zD~L1a`%oG-dQa`axcA8;v%sO!q!5*MSl^GI4~#m{^$sn6=I-ww{PT=E47|K|VC2}Y z>{YjJ;6nkFMYJH4C-WDpGMp8rGV*wZ7Vr6#CgTg)Ng=2LUON9_MeKRyw8s4Taa{P^JNr*Kw{>Iq@aJ4fe)<0xD6& z!}?=98+`NhXfcv|VHHA~@Z4_(1jguDzgKEKD@4b+&xQM}AE@i;t$pNLpEzHcPmXyF z!?d@x&WFIVeIt8i)nKnen2%tEij@UEnpjVl2-U}|QdV?v;w*0rJ6qqSz`RugJ(J2} zPw{5Vk6oZghXel5fxb z#9J#iY^Xsj$)+Pd%!fO^%ijOB{`Vj_A8loJ5b*NCW15%G0d{hmHb}0w82NIFj}XZ^ z80$5Yd;v~#xF*uU01*eE)`+zK9h-_D%c(WIz!Od4f2Ej+;mX9 z_V`l$i=pA{{44`H8Aqj3MxBuS#HlG?ADVy2ZX6q9hKz_RqpqVNBS%$#xc18xbLZ(O z{EKSDBCYJ!A>KHj;&7X0eG{@{LI^&WPwJ_V>KJKWICtotX4h;H)+q1TXvJs*pcIA) z;U%eQ;%)1G>gfQeH{kd<`A4k=m#R8EA?hX{t^ud}m!({^b%OfFU&e<~x2XZkJNG(& z2YXHfmi@jOF#)++!mp#|1Wa+7+Wb2VlOI)#P)0owr{_*GH|SP_6v{pStz;5)NMiNA z)>cKYGj8J&(>Wh_&anr*AD(m%q8}=-F&#THwGND-$~*7eZpHt6=Abm9-oM;O{Hg&7 zQNGA0P233Sc5J2usI)xTF8n+LjI|@y(k`7E#s9f8+jMFRd-U7$K9F%MVUBl0MEl7I z9hln;Jhfl&4z^$Zao^##^EHNUn7kT!K9a?IT!Q!Ku?OnFL%>E2=LUh_iQJm&zO#vc z+#C3(%So@4a*f{UbNeRVQ4u;*3yn9a(&&U`&oS`FvK(1fmu%At5QJfD-6uKJ!ASQo zeq4Y+R|{<_je!yjoRf2A5Vuby#((_xBy50sumGhoA)<;TNV7f~j$4}WqswA!9Nocd z5C7=?am8WPeVJInj$=7XN-q#!Giabo(#-{@;WRK?ms>u--mRupQOYShS_rcSx?26~ zjf~;FbVq0D+o2V#(oUCA9Ona;iL3uR0^Jl`;Q3iF!6bsy>VSBD`tmY%1#cTSOnZen zx)aB=Ir#riBQWrp7C|XUZP^|s;}rRj zD3cR9y2lvZ{CBhy7e39sp1T5_vJSu!eOEqNi+eQtUH$!X{Ax>p^+tC{?MpLACM|w_ z=V~J*M@7VjM;y&YM-CBa>4fF-l6l^|wYhf8ODATP-z82VPr04ieqnMvFpwnYl4I0C zy>fB4;yxpK`Xc`thY;z$@dZwbC&!&Q1&I&$N5&6Q0@Fe{u2d~~{oo;-`zj(wqVv#w zuB*bV5N6XwC*O?XwnJ|V^FTNE9ba|kFXgkExJ~_MM=L9b)`VlM3tuA2ls+TMQoXiW~@)7?)d?)BfuShE6`9^Hkus@Jwbn%W|$6_3MTk zo|5DvS!vlndbR;?{|Q~6B>Y|!GA8*5jDLT9iWbUFhjNMYFc`q6z2k8^ux!q{C^1<+ zFPo`s4)wmrebO#k|8^Mhi<_D5PcOrjkCG&mi%F^-^{>>S$Mg*>oo#^i8T`ev>)TgR z95`7PR+*itOz6(l->8X9WATUs_|dT^eTZppv!_O+ri%RPU8*~%4R%{F#*3#}>Jm4^ zFn^-9)caL}p*V%+b3RKs&dYi>hI-|HS7lTvryY(th1sE<^ddWI@7w=M-se7FIQ<#| z_fOZoFDKrte4ErShI%qJi;?#zmGvN?{eD2FWT&a7v(|UL33`sLB$#u zX|-Q!zU~{?ZyR}87Q4ro(_NqR)Oe|Rz0A4%eB~G9NtZY#y47vN6MYjZL#wpgk`AZS9{0@r=_^7MUf;Am^_e5Hu@H_U~uHH6_ z%}n5sCb#|!Cgg{4Sl-u(9(Cw&#^&+qLh-t=T}XIJFQ3;*uHVomxKhR0U+wtOVbLyO z`6fYcoUyWdi-oMGUo8?Vg$MQ#Mt)(vg(W8oK+xH*C8Yjh#BSziCrd zO}Wlj9kqOG#P$O%w?NNH?XxvTmXTi%HnN_l$mflJfmIm=E8SpFfwXPrT! z{c}TSGqxO!=yDxQ=!E~EUm~L32qX!@Yi?|vawO=%!1edbEaGjJ!-$Px@B=fY={HYV z_Jrv!N#8VXehq!L%tdB4PjFp5T5Qs0{WQ9^BBeCz(xq3jr(bP3`f-r%R7KibLy|J) zjl-|aNMBYsZ^bFxWYeIIKC@S6{NyM0V_(j=F{j81I%!2$S)mw3dnv+#STdmsTF)LG z)Am~d@t&wJecyX(k}f26zH8s>F(*mX8kSk)$Nc2vKwHw*wfp#^rQ^)AND(%s7c4M| z2w6yc|JqjbSJrtNN1QdxhoIYPe>$|UHrHv3y!$svoX#MsXu9BNzny-uX^2Xp!W3is z@s3Ka6xA$vkJA;Bl=f~F=1(-`Zl)K9ZB=gFjGH*vADvIUDTZ`}me3@v4^*}JRr}$^ z98DGYA+P5%x55Sc%j1Z~Ir?&zj1-B=g*QjkmXy zhM4KTQz5qya_TM#-~8$?jlQeqwR-NayrX-UYuy@`p1?mHrJ{CP!uS+Dn1dO*P7l6p z-WvZPMA(J36yW|Myq$Um2EX`pnUPLE`q)2z02V{1lG%lO9V;bcwA*i3KGouHsZ0oG zSYs4d#);2 zGySB|H|_k6fy%EjqLtQ#;lc|+hTayr3e7JH#VP)$X3w1^{>sg{-L`rkM{k{By&H4l zQDU(*EPq#bP~2PWYvpJ=!vn3K)2}a7p}~nHu+x$!<2Gd-V`SChD6~pbi{=j&vqME! zpjQXt%NzvdHxfF*PgyE2h)0yugNOYqHYD4o^UQ&St0h%P<#s*(bTE{?z(J6UuTCFt zLsarF7A7e(zZTERe8URvy>vh`0Z4jUIj=l_H_<&RPgKkmm#X=Wg=a$&H;i`!$RP&r zGQ{@(oprtxz2_sC$f?qdvb^|bFYOVx4eu$91gGm)C5I&`ZW(GT<0(Rf7spW@2tIbF zRJ1@?R4C${S~Psj=YLE2(@metGELszh-cHPgT&~hTG59o4l_k(c5VmKq5C*kG$Yrr zQPt8Hm_wQ zu7z4zy6?+@m^(MftEHTS+#pJQJk(Q}NOTKxyxjL+3^j!SdV{81q2*K}G zQkQ!!@-U*&U*t5~G%qbsQF|~OEL4xn9eC8DR6kZk@@ve~-42@QSWYeVn#FF7A3JVX zI_dvty7G9a-tT{BjGf35k}cT@Nt9)%kO(D96tYCwQ+8%(K?>QWP-Nd_Da%Z<6l#>R zGlN97F}4|IxxcH=_vas8FL$1EpL5>tbKd8f`#hHem|&ixaqKX)G&w!NmPje_yxT8K z?+K)G#WSE01bl2M_7iNqNAq<2+i@uT*a%nC~ftLT2 z>&zO+w)C834^^pS=xIPV;$T8433JlzhzS9cN5Mz;pPqOvs6)R7 z^IBnd$zR~tCVuQVa1lTz+I^bbGKhdf*?e0W)Dd8WE}#VK2SC=594yngX{ zDH-h1F^zhEId9bO`{u=u4aN7Z?~IeL*5 zr|wl;H^vMHo{<~>7reZ>4yoYXPkVgJlF%-Yp;0&Q&`Zy&8VlEXRwwDlZ||(Thf5}@ zDx5l5g?oGvTYM(1@ZY2YRlv{k!`CV?4+pkUBE-Fm6$i+5@b#zeReAk$qquYI1-Dv^ zGGG#N7t#CG+FV^>KFRYDa(dpm;=5(di;o!-3PX4fY-b+&&Yh`EmYddW_c`4;XO1ht zmQ%~o4#(ejL5XZUn4%f95Zo&md}rT%W%^|w>2fOqe=!DBr&ZRmq+pvDz= zlPP|iyb1KoQW!ayHZO+8Rm;cwdASP=vJvKR)Z6 z2RP7(%PbB19)EIh({iC@z~x4d4pm|ljG-$}6O%Vlo-_W;1%6=#h$y2GmcUgx@mb^X zt9@r!+QsSvu&y~J`;|a{0_ni8=40R=S9TKvJ3jFjR$u?h2Po4Za9)L%t1DxJDp|Gl zd#J2h!`gmtzyo9J1>eq7@7+hM_f&SwO9;mN+yFflX>+YFWl)D0wm@DtznY|sq?aF1 zgL&}l6+dmC*aJ&l&=n!qJ3+KEm{0lEH1E$$c&`Wh(ip7(8*2G(9AHi7NkVd6b1l$= z3VcI&CMptlq5*_Ye?j#!G=~*BDi-L^RUi-G=GarZ^A%w$M}NItmUy@u1z%xT>&eb& zq&--osg^dXPBG+2N#Yg=RNNzsAX;dZUAX5h{~eiKVI361^m8Xn)AHcSo@~LKCA)9$ z>9{#DnqAVi$5^l;&3D%kW^ZbVRr9MZMRdJHC!alKAb)I5ZgqeBg=X5&^N!?Ww6U3F zb#N$DE_rmL8D4uQ576X1^DN3(%iXAf$?2lsp*=u+~+uFF{ z(+>frJPdx)Q1KM!85JJvnW;)l=hAoXiQATtD|H*@^ZQDr*uk3Gj;;vG%W!IzYZGRF z27+Wnk(MwkTj1yOpIxs?-!UdRR<3@@w-vzL9Wj8kQ{v8c&7a@=-g{%|t2Orc*;f(j zJ3E%Ltqv4uI%1XvFU2Ik2BnXCeSUE{{VgK$abt55bi`XMR0r@&Jg40fo?vfO@=Gag z7H*^1i8H2s)GlknPKPaE8xm{~{>hL%yU6y5X2Kk_ABdtCz2$IM0|!0KEbMmZ>2AoQ z)40FfZDu?(H}*nSM{0|I+>RDsabqrE%LD$fS}C<3lR;O>$rT~mVj891*ZuQjPbRXT zR&BaCw1Gs2tUWu{4}Q7e%n8NSXdUr0)m!U#_2JH_Gfzb+$x=%E*Yh_K_K^2mTJe$n zsIwl?taYe_`+U7oH@{6dka}-17pPq{7{s!(2VGaR#^Spg0~-$%%eh>+!PGpj3#;Z; z>lxj^3EPGsEwD({yUDGTxNT|g{O~!Zk<&S>>3@*|f9$MJPeXJX4TJSryxK;rv)C>ZOy4(^%FtMr z=g;J0+F{V=mjB{HW?!Xv>@_st4KrgkZbd@cScws#-!yvYaM9v zIhD!mwC|_};;DMoA-~kzE_2OTy^tY2Q)8qIUCZj_VI#b}tHNy-CM%^UN9_G~}ijuv|Ro?QY zW{97+K6He8p1C$^{oBi)zj2;6%-UdL0wqGX_(^8 z_nby9R}ZTxF^k9ThQZc^T%O+URt817smX4214Pj_epOe!B$Pk{eV;mBn%vq&Lx{k_ z{I~19ff53-(JLtIu8x$bvOuaLY+pIQP@i_b#P#BKWxn77$e|NK#S?ThCh;G>;W-Sv zcQ^*S%12Ln9T_?P*e9NM6E1GbAFbui&wN7$GCQmcCaDQ+N~EuYhMC~ON`0A2Ssnrz zx?gb|2CbL)iylWNUV0D!;yK3%iD2iR*zlT~oh<+L{g0+9gDEX^Vq9eh2uuemlUfCG zslUVbvi39FyIie;qG%Y;Z$7ux<C&`LoD5GZ1OQhrPaW1=Oo9!$=lZk%1 z?R~4S^0NDWN?mP(-Hdhu;@GzzE1#~llu-v0=uwp_H=~1n#-;%`bHhr8gGHV$$2BuN z6CbT)e#3H^s`T`+!@46ZAOm|H1Kjy)7qI&LF}q%7>&mB;M~DwW^Cx#$Agk`%8tJCz z{-_;_*vtPEQH31v*lq2=NZNY|0Ni}x7x^Erdp;EGFE@vQw0*i zRZa}4%YZyB;@9XxL1lEfx=H3nhsF+|t!iKc|C!`gCMoJp=;a9vyTCIPVc&Z9Me{yj zf7S1qy-zu&LQ4!ap~urBD(6D&rc573k6mNz0NFC3OiOx_EgfPwT&_0l2+w!S9EH4b zpb~dq?4BQ5{g%w~o=zH>({0a=WO3$c2%j4rIYUvLzWKl`s#zogF!y^?(C2Dqnt_!} z`pZo4x@pU$+m(#US{5Np0&W8rd-inrDv-lF4dDrM5vRAe&P>~6T+c*(O{1;A)Ksye zXwNdH#A$TMFC{{*(OC+;fB+C>zZG+%Dla&6z=o5wqPwdyjlqlL&`i zq;meR^8P0kud;Vd0-6VAAB@B;4`ADqgDgaTU$|s(C{om$b=WupB6t7iHOnf7_6Hir zw2EBLVjNxI5t5qORa+F?ySEBc^PcC%HgWUFx5M%Y*Juw?5y%uiUcRsTuM`LoSm?Fa zc4=h8({>{u|Fle8K;)rb4D|ZHU;aF31+EjkTTG`=C5UXl~);4V+9*nS5w{Ro}bzYb<}!ZDXq2^IE^FC|>etsQA$ zr2|9to@enmd%3G4xMP@(Genl&y(%DkxaJU>W8IERl%ypV^Ib!d$I#^X<1u_GyPr*m^)1WfaJORpy2k;|MwWW#J5^(4Dxum%3sr8Rg6nC5rVnnNAU8 zYOQZVWjQi-)AC%VL`sctEfl0#2U_#5&vCIJR}zkNm^E%@EI;5S-X2zaRLxN(WrSvP z<}(e*c)Iq zYlge5aEC5=Mwc{q+Zi*Y(Mv1MC<~WaDyv-@0?g7=FPeoGhIQq&@(VH z=Bz}o54*mt|H+!F=sBTx?DsdA{(Rl&!F~9BFjQ{g;AqK_m^J1N)0c8C1BqW3dG3sB zRu8vF)l+b?hrqUhXp5D(hE;706r;@5gM*)Oek(d8zMJv{w=jf$56O{(r?S5ttN8wy zOa$}OYfh2K-%FG)S3kSbFa!}@xkRw-BCVA7>6}CNq5UE9T2TgK$-pP38U+({VcfN| zlssMdz`@anjSLaDoF45C@MM})B8l8T>)EUSVHfA>c>}Dvy4ZUlx_Uv&78tk~hB);_ z8XJjjF5- zDXOrE@=OqDuoZ^|ADDRC0h9PFz5e1}lq6J_! zq;|CC1s9*&xl9H17(KhaGa7Am1%Ki5f4eMzE9K(V%X zOwm?+7@)T#v(EA@N12k>2B#Kr-8-JDloF1J#J#x1ySHo32(OF!upXEG)5H+h)nO(T zw5w5wVp~XF>L&j;OzCO3RK6T~dHJMY_PNK?#U=nXw^A0{VNFLkU9pVW;Hy%^e=5FU z%edl7oqIxTxSo6|+|Lz!bO;&zVb6b%AH7)?8HrpS@&C9#wc-u7#f2$F{vtb<C#@EY9KUv3u8OD`z1!-)zt+p1v3{esJ^E4(ZA4%hBS%I~(dIb2$twE+ z8oK8M^9!>p{=l>LYhCIOYg^fs&XN07CT|}uFSq;~qjBrOBsHz?x5N+0JkjzoOnG-6 zJ!BKEH`0hBMY%C!Pu7^Yusg+Y-v#~C&ep1uINDS_Ts%)?YM)%x9{sFDpib)6WJui2 zj4mB|t;)gBew=j{gs;sg@ll>` zOuBF5Tzj!XWYm*op14Xa@aLvJe-DJjs!7WND5FO=nHDA#5*CzWN7A)h>}(MI+gv{z z_Gmuu;_hQ6iD3@v^j<#Nz$~WXMbz*bzG!ekK!1g9U-&xu+RBRF+TOmivOVk#6ywGv zaah~73(YfPA56lSYAUD%$17~%&?7}UI7?unn;AINM)iTCh;R6IY&xlDu4f!#Xk$XZdI3ifQP z7Ry)cT1rK=>LlKKDzAyyyR!q))5DCQm+V1}yZm*3EmolYYI=|K);Nd%SdZd+^-J$| z%tY=)zuVf}RZ3chsM#aXrGdQzS5{)xPx> z$(zrK=Qh2Cm?msZh>SUwqjYjf-Ku1l_Yv&?ZQ7!3%Pro8Cn@4*d1yr{yJrSV7{~Az zomz{EcNcB_8+02g=)_XRbEu1l81Iy+aSjg-zwT%3o#Uen{3xkF8H~{iIW^}^y|>dq z9HC`Dism16nfk*N8c4hkVeN?JMvbz7v~ZrS3kuoXQl-{2!3qc+fwQB>RX-+{>(!_b z4DFNbZmLv~$KfMO^A@_^mXFncjq{kM@F?8$7sd}&24vMr{KOdt>Lx{TP>+${+EZ{r zD3N^x#$M%DZe($^#ouC&TGP|Um-oe%@~))E@}6T^PP-oa%v9enEaAAf1}4l}rf#h_ zbu?=A=vc*`F0W+sezoS$t17E&Vrlf4Jvk{i@yQ zSJt1CXI|FP)o(4#W$U!AT`~(SJ;_IF+Ij{#r&8c|6|&mlWot(^FnIpc@nFUD5|=nW zu8@nAAsw}flgGqk9OTibRRUOoGxU78#bX1BNbnCvPA8J&!)31tj*eVlcJ$9b`uHpepU1ob9pLaPts{ydqlL=N9Cfpo{IiP=Wn_f771ppAxp9p}B1^R^&Q+fcvK5Uwv zH@q4;zS3@YSJbh&>OCL8J{Tc~`HEWeHo7WQ&i*TZ$1^_hS-dF9Mn-*%hRUN4HJ zgjl#J-wssZe{2ElMjd>war69b{?7xN#Uc%Y(9p(%%iB+W-vnFKX8Ap?9s29dZ#AB* zAcpiid3gRDBlp>9otF&~NY7qhF&uSToZ9iWN`$-Ma>3B;AC!0iKi;|eUIGpY@lQP>G{5RFqg`Lb4~I7u_+z#k`?+o4gl0hUylHQ zq`70aVXFG}+}WJnqX*;Zy*rW47g`sy29sU&1gUfYI@%GZ2sq?O;+Vrhy)QUFkIrbP zPRy&TtOK4oj26u_0|O;0RhAv#;za2Fq_U5_x5YVU$E8g@cHL8 z<(cB0&`q*Ic)^~`*tEQBDKFtTIEq=#6}G6SRGCkf#DZ~LQAd9))Jq!Z@c-Tve53#M zvzE7b2?{07mEAAid?%Lcz98^S9f7)$1D?wSIFq%pI; zL1W4&BD*+CiG`1`70QHwoCI+BB#=UDb-n+w>Is~l+d&s;pGM*MUut!0FZc^znPU2n zDTJ^@#+!0?=2viiQ6T^uJ(Lpmn}$gq{A=vtX$u zml^nAx=tv6Gb?$EUUT9*c&S-Wt^ED4Ka*E?DWlHItO#8;$uvWM!9`YC z*9r7ayD6^hjPina@X}UmevzPX$+@ruuD19ycDDbce;Z!KJu`Uz!o9e>%aR9a(Z`^e+PhWeaty zT7u&3oAImgsbh=05@c>Jy7s1^eEu6j*8f3^D`P9}i8=mUvSuRu%)!0OKeY;VI{LO2 z(k?@9$bwF)diEvJ1N?p&WjF>hdoYAPkuOJ(=r&1vMn)phX%=%+>yAz7@7P zZ6FB;(EC%@eYLJCE7F>kxsLaoslFWXeOq5FZp0#jTo`X>3TnY>Ht1IeadL(+@7yu3 zw%3{)_!z^&bDM`Fy$Q#iH>LQwH=dv+iVwNFf@cnHf7c=$y)D>s0nW0(!L_Btc|{e* z% z1*ac+@43hln%XN1PxsoEinVD^@pPM630`ubnRDv}2lx+mroX|ju^+=+PllGc7$6A* zH*U>Ggp1O=H4=A}Z;l(Qee*OT!2Sz)C&u-q-HDObc+S7nGcgnRv6Mi3r1FgA395Pp zhF3zaIO5g$l@PuM9o@f4u@4#7yR+LPx178=_BMMDC-20Qf5q}qO~QyR7@{jjBull4 zxzq(Emf5bD%`PuB7Vd9?!rIBnZdQ_ERmcnjX?E3Fud^U^#o+;n_h9oU@xp|R949C3K%IneNCD8|o66A=;EJ^!cKV!B6$BhZm@Ti#@ z7c?hWNEvlXgvD;Y`-OExbh@m#95Gyk#ZZYEDLHmp12i+u0k0gTY;J(N=NC(4=wy{SoJr->cHVtF0U)1!2u2w(j^Xif zrLliys+j6L2#TC6zgZs0aj?AXHzS;k^p}n|jPW`n?8xnEB^k~ZY9P7CI;p#*ZSBDP zU-}s+U$0SlRwbXNLOhX*d(_SuC9>7cM~Cj9J~bL&V=Tw$8c^k+1y=}JCAs$b3xl&NOfqD0@L5ck8KwvHIF=9MU-WsSy_`-J_J`_1j zo{f3Rg1a9XW`{?sS0^?{_aY!J>{r$ShaFUDif}^-Myz)!EI)c+sW*>aRD}AK=a{xg zzRL)0d&vd{Kf?OU()Ye9JATn)aydmqTx5oae>wDkX{z!H;rbh};)X`YW5ZlDD^rK8 z3X|L&>G(o6J+**01qS#BF6qx*?)oara#u@2KHoQ~J3=tL_sj3tpQyTgl;Jf{JJ#PO z7U@^Pfl!7xFEf#uYK~flY3$7Fy&8Eh@zJdMl(6Sfql4m2ZwRvN@Rr(SaaivOZrUG_ zf<81Ql8fa?#T9G`SERSly844A;s;N38`H%|s6hX-#aY6L{2rZeRGk<(@zr#tIqe6- zB6Z&R3gBYY6LopLmjnH_C=R8t{5P2n^5pn(xoxcr@gta8R6m*>WXucqe)?7zSJ{`4 z2gB>a?;W8tSqK8!U*PaM4#LTBj!;R1LRLNbfHHO_yI|k84*!6AFY!t-ka*tDG|4|k z@&`H&1g>r0sK0SyGdF8AcYGldu7;s%OiVk5~xXJaf^b) z7c39J-??WnelGBp2)mO^9!$v80P-^O1xKC?EJoUfEpoezX-%3C6SF8mKzj3SVk;Gw z;+9pSAxNhU&DudZZmd(UTFZoD|7>aA-}vTnGUJhbPmS-VJbXR9IDD6?M@z5<&pspM zL(krbCcBT5e|91y+fsg;kAo7JB{>4#>yUwO?*zyc@vE%J|8ct^7#-F$>{`BSKi4q(gL0E`jf2hvQd`^}o z8bS$~JhlqYO7J&0DWE%0%yC3Unq{aAF2upM^?-d%h!CMAa8Ki7+y<9Ct^UaRzUKeP z0;t}gjqGgW8%yw)Xx9l5sE$3zxzuTl>PO7cUdDZooh(7F_~UfWgal`~zw`ML8bctj z9(8U~x+M-U_msgNTL=lnq0U*xpic_(IwEHO=mYqtOuu9U-71bmU_*t~Em^#^0Vs08_Sy(Egp zT|EJ)z5N*Pbme9`3v)F;|Hrf<8!R1mK#+^_;vG+DqX9Vj0A6$5iRl~kzY3rY0N^Pf<36nCsJY(} zVa2BiH%Y>=NC}zI8m{Jry2hAf|+5izpp(C{r(8CtkHc#h?WmAStM$FhnUWEQ#&i{)bB|N zlWi5*G5T&%2_|D}TZ_^K>365c6U!>JF{vj#M#f0Pg!9Py_@CmuK^EIONCr?uDM`}eet(L#JCE=JHlNzUOdPSAtg zvdP;$*+Z93NdTQsuX1x$NP0azZ9_PbBhPEXX}oD5#6VG}nc(6_F3{lLlsN)|-69g< z*Bvm}ucDl4G~^$lb(F&|p;+<%5-ksz(YmvZ8|(buyVKnft-49R5+yN{wL_$m!jDYJ zeRrOp-M5)90^IYj0E`_}-QfJ(%MosbmVmYd_*4_R zXFpMytsq4112XRdP3ZRDVsc<{d+yv8`Z3Xsnpxk$kl%AFMjqa+s^~&#s*@7w^tu65 z^w}9_&n2z3#uwh&fVs6Ap^nDncWk=Q6C36#9;!G4s<06lz?31n0Bq4@W1(!WsRaC? z-c*6xM8kI5Wsg<4BmR?USj$DC<+I$!Dm{~5ov$%$GPYY|@ZqVyLS~56uSIQ0RT8eB z`u8s@5E_X?Ul~IDD8M!!iV0}FLtP z=1Zsbw0wwky3-ooHV3?`{MWLc?#KaD+ND!!F3>_cr!;occF0V?Lr(`yD~o_G z)ra+tA4oeCqsoDZ91e;L>?-JC-?KN=;%;k-8rczdUrf@GVfm*mvGfLNMng{Tji+Vq zK^Cs&V@=5Cf-(%Pmu%JEH<%+6|rDMrj+aY({!Z$yACUXLF5&{=NGwG2f6#iZl$d}Q%PX-{8g#Rz5n|T%gq!LrzRpczqPeO7>+p;aQU?hq(-T$zu)g_# z>${w!pWW?S$Q=1~n?ErUnzri_%y9iLI@k(Ui)}`t;)5}tbf0KUr`-PpgcTM`-J1$T zS+vt%E&e8UI*Fi!7!$#5t1uv<&6|3OnYFxUN3(ZvSygWF^88^=V0~Shby=31i*q#C zMl7HTZNLQ&Z35G#7g)3uv?{{O<3h{Y>Egm(7vA9}KFKo*>+;Fu2xl-)jQA*~4&M|DUtS_QXHryU zKmX2>zDRk03l5m08VyeOG)CFa8lu*tgyeCt@!3E^4FqAY$v=DKB%rbm=52gEZ^aLLxmyf>OM^mjBz-SttMolR% z#X=Lunm+*ptCzclRp1MEI4R`@=w_BkTSmg(BL^p3+k%X(K=J7@5rul?28m2n@JBT45cYhA_7JRBxQU z3j=g{HnEra9gRh>PBM>U@WyP94R^uU=1f#^7zZx}0mGv*ZW7AG^0_(Tl&GIxS0{By zkX(c4qb6#I4m4-{UL?vej!)aIgx>IDOe_)cHpO@pN)7{gs-qT5J^D)d+hj8d-UQ{VDmI0o2$)It6`gjg(~{ zGBaJ*`0eaTa?p$fi%2wXk9dJbTp~3o!fYXtA9SJTmc4O)YBT_pBRYj`TbPLYFKTKp5RAg$7+g7<_H#=#n3E`(5Bv|k16Pv4QICWj4Ts~DG)A=QjI%WgrM#IO z#Zc$9nqP8$T8CZc&JnznfCPY9q)JWA2j`PLZTOdOt(iItxCw=^aOdBG>(`_abM7z{ zzRZp}l=tJ#l#cn(>ofmYj~&V&N7T6fD6~&nA~kHuEh+3o+>Ja9BkG!8x@o zpA+19$k~3k>wdB~6!nkjyRq!B`^e=h*XWzdk^#Rv@jLmy`3JRlw-VrivFKP9xlggc z?L>nu_6tM|)P12Lis;_ql{AL)J$Q4m8AX5J)Yay>-Tn^MyW=#C$={;%`hewJ^fP-w zDjqjqTyKD?#uFxv8#eh<$5vqrPyw*DF*qVkDWM`pNyu149x`aCY|ol@@lH2Spq7q^%n~U$`Mbb z^dSncQOZ|9PZ0#egN#9b!pad;p^T-eKZr-&PNu?`p(qffZj+P%^g+GHH?M}FViOrj zDh`vA{-$HJ`@VVe_{|kelG`ro$b!%-x@d?pQMKOan(6)m-$<6j46MfExyTt_isGaBvPevbwjx`YZ*Ii&QKnts$qoPgmDIf8v z^%U>ErHC*v=?I+~k+D|;wT+h(3wN?-F^YgyK-4~BPjOfBfpgQ|;Tvo%1DBXI6$92K&Ix6QFuaoYw+cpAd_SsKuz>9O9@B(uUcD0Y@TWBJoabMp zpX!61hq&h#xnjCdCY{Jk>b@Nc9y;f5s1kf}=nUu0P@^lS-6Ng#so9dyB+Sz+4Q}wZ zSKAa=$y}e*l_$XN=f9XU+`g1E&rnH5+q19#%G(@qmHMr?Kqll^JXOq35}IS+xi zb6haKYMERIf<&9LZgkaz2X{v7rUgb%TuTPSQ@>v@*_-+mT1FU$FsMP`SF5Jf?48cK z=7@c*3)hzshfVXXCp$3dPjnCu7W{>sqr+zPkeh7s>~H{~2&LOyRr@_M{SAigLIg7v z78|MVqKb>i!T2uUCE{&u-{9x+-D%By-z8op=ko86h2kS2e>LQoE3J`&+BjS+$b*75 zgJF0KE7Q(N{lRWf;=>5TBNv}L5lqZ$Sint67nIMcPA>?uw#=_G?R!qLZBifQtX%pN zZ?gA(Jwysq+Hqcp(YizmnL(v&QT!D*F-6SgZt+1VQxud-5RvdDUHF^#ewD?Jrai3H zebSOmGrQjUXV)vHFnVkRaTuij6+hwUr2pmE8KW(zdgvhQe-c5?s#)LfO|a<1j?eOb z=9FfZ927gK=RphkIVbUzZu@h=*<8CbnE|E3P=#5{aW-cgg%K;68~VkI~TSNV!I6fi^r{`T-dehcdcjA#HZE{ezDI5o~-O4d#0AjW@N} zvx)9_1~=A@W~}4W){}cs6^b@K6*!FgAJ_POYgjp#$YiwNBNMbGGiA0D&jbXcb~4eJ zRg&|G12muBHJ*T%$pc#Cr@8wNrWgS_X-4o-w z+p(zLOxXw{wFemE-SKCP$eRZ{lD8a(;YDoQYxFG&v;y?d1Y-JfbX)n?D1b(KV!86Y zblRhli$d}=J8&eXlc`J;VMBlR^`;nU zN7k34jJwd<2ns->A%$b^nU6X((QFsu)->{BX@Z!=<4^`Vp&mMGaJ{6P^)s}dsHAO7 zG)<1O;i)vC^!qKA$;c7t8!$Af9FW~+)8@g`Vft}~yBI1{3x&LcMy`^O8>|$0o|pzH z2GG&w<-VNgNDhq!fEZ|fg3WSj0Z&}U-J%XNbB{Y6UYx~$rL9nGzSrxcCMGPyZPGJI z%?vO)pdhfHP-B`5;oBheNzvpDJ@~9%#AU$cMdL&c2s?jsXJV7 zRGX3I2##HUttF_f_~Zdsa3}{@GYS!25LGO&Ouk)R(uFXW?d&o*WK^_ zt33q23tcD)#b9Q-oiWe*9Y6Ri%CtS&`@`!9f3Tus%=vOCK(G-`r`E{4jk$R~A4LKZ zd7#VLEU$=J4O5r~NVlO;GPk}jv7!R2m`ZEklzYJ*)Tpllqm_$JVd0f0@tVAH;GZxE9h`|#W6yp8KT z#o&L?Z&|IY5uI<2M(GXs*Xob^Uyh25GC`@5n&~Mn{quZmcd@Xy+n2_xexIPNWqKFo4`ByRw;V z1Mi7+-Ds{BeV0oM%g1nnAxl*9f>vh%#=pbW(CXKm#NsBzdNy2CxWU>%D|tYzr0Cr8SM0!okCay9+tCM3ieIr>+YpK*blqYq&pc0fGs z8XAWlMndZ*kgU>;*wgAL!eJ`IhT3qy8$aC_+1u`?*{p%5xO(#Qz;$L_H6gn`T zJ-%sJIM035mKpn4k+1#4_b6Co`wxHVT6%(BN4dlBRS_mQR0q)OsZ@FfDfwWC#OlHU zP^WLNm4fodwLhoe({AF<2D_>LT0r%?r07G$fDULntHvYTRY`w2e7K*3V@nVAn|m-p zI$@PkxEgf@8z^ip)Ka(b;mcl0e~lP=KlAmxWk}U@iP|pxSz~;tJFfJh!%fRVVxif; z_c+D5>^I8J0~CES5ci@UbF(l8vVfK}IQ@t1<2w~>@`3=uK8Zb1&5NC4CL0qM9O>$v ztKmqUd^(fZ^%J`9cOHh&s=zD;znnh;b+Emrw21d$aVxc=ckLN@cOoddE$cnCMt)Y` z^j`i71V~^qp)f3=UXlIE{G*4IeLSiq?k5-_Y{z=Dufi=x#@~<- z6p=)B0z)|1d}KvHW23DOJL{&nbqF%(bpvUH=$A8YP7`mMWG->8H=!5VYu$Sjo5ajhkX(Iq=ZgKM6gT{Jx0fiEd`NQwGRLY>4q+#q16NSteiR%6x|MU&^ zBm%aSdT_JcX9cS9Q$v}A5Q!q2_8tESTC<-1yVb6wsbjS|j~A|d>H3#nETy0?e}CX2 z7&dvsbP^rRGQxt%5N^mVSY$2TQHXJKkc>*nrgaCN?oQzY?+!TWK@&i)e`WyP*~`z* z{(APvf$5OuUJLTnV3Jlku=^>Gy2z;{A!4s7g>|~q)oAy_H$iKE?GL>^`kW|?DE&eM z!Oc@&a9yb0XN;X=6#PW{(t~;iV=`Fy9YVR(v-e|)G3ufE2IQQY>``CmM=HTH$vs9U9?(`o&hlhtRYZ^Fq0KPIt zXHIa?R#ae_Q^;n`(Z()h-oFOD(|U`VyrLSUkz22ODh~8e+Qp1D0ZpRxcGHWDsYRke zJ3~p(81EOLV`V1#(k`4biUn;w42JTMl^pP*9`x>q zXOjPdVcO!MX1)2i7}3rd!4J-hD$$#rz>QaAS}p}8O~MpUHwVkEE&IJ;gBlJX+sGen zI;<9SC&8z8I~`)znLZ_%s#o>)S0fCp4be4Cuk3^onGRWxF7vV!^VqtTmh-zvcuPrMuFoPBzR$(1$d!LfP`gT@$ z$2jTzYR%(H;*Z~)Hn4pI9l1STr9Q706dwS6do_v`#7;ajs1vbv|0vC^2JGV{;e~G| zLB$;4&3mqeZCQTBT-D%kn7ieuKiapZg^S4_@aLus?Kr#hhT2FoL<8@+jE}GzK+>;m zCMCBsHn;Zn2R1|}T(gqF#_}nyaT5&D z_rsXF?q~X6ax4*>V4N_UPVXr0zx3*#qgQrSf92+rsS(3?>A{M=H3_daJgW}lR}voT zgJ1t>eE(#l+3C@u$-as=aJfflo-?kuz2of|pX&gRyfOS^uTmO^PIh7^u*5Xo*!^JP z-Fh5z3!)USJQ+Idwl=S}sc%;+eI}$3)6CQic6`T+CV&!rIMZMC;gob?A+^*n@kA)!(i3d!{6 zevj74dG#_GFILCDerljg=x!1tBGztP*}$l|_V^ay_W>+9`Bt-_+@at#fPFcBQs)k* zSDz5pL{p1ihxG5AJ`ivxxwRa?@bpd2K;px)F>;mO1UW)RADHL+!b(0#Eu{n$nXj%wY?Y*H2l}u1`rnApjA>CR6y${yV3oSRIom#T(IpyeT-V^Y3=Lx##qO3m zBxd{J2>tP3AMeio51MWts<$v{PXI|sO+A{$CmhAB#rpYQvnm^PIx$Opb&-KTW{grg z_wBjyvvoNL+fX(TeFgzP%=|SkzU9Fij{!|sYx?vXQ*2t)MO%(kr<|QoP@u)# zhOXZ*GYdF%abe2}sJ&6p6!B%Myj#!UV3}~h%<_C2?9m+38sA5H^td`|_akX{bxHWW zPQ^sj5ou^Oit0Jarg5H0e~u--rlAv`L;fG*BGn;27?aszOhNpk#-o})&Yj?9?~`r= zj2U!aF&Z+YZav2wY59@+MwwhQBWjz4urZ62oozS^*c&fs80SF@Q}@+G5`F6Bjf01se4G z@X2?ObR>P4OqK%2X2}LlYxTFJz)LX$TZ;qqb%Jq)-yeBMhu?AInvKH@9x41eESe2G zsyJj=JecUCe)iVmr03`@g0E-W32`jcB&$3oa;eqY`X4%bHyS%KNi_W@Q4RJAf?sx{ z#SmLWF@J@i+~@PHb%Ll9ja2@BtVRicPp`8rV=%`AAWc{TjG9cyT06+>^ux#rVlTrU z3su5(g<~+@%nieSC5jUx%vf zHrHK0p1CbjeRDiE`2lSm-wFF|ojd?tILCwzuRzyRp~SvF*b7rKkG67A zIEyY9%kCLfPk-onC=F;D-p~d9vAM{Kd?PN@R#2!XA0kNGyA^*wh2r)JK3M#@XzVXh zzFni=u~!~Pwa@*bNlRThwOp=}73MhQ=Q zSj6{K$kK@BtO3UPRvU}_TgMeMvzzr;*EgNYho>JR`)E$xzHX?+qec2-66p=tuaANJ zAE+D&*iyW>G`K2JH3!7Cm5+RUKqxQsvRv!^3kgR;;fmgyHa%hYR8u*kzi-JyGh0q_ zB}F!&)A&@;VUJ_^#FrA9mu?m@0>2Kv)6ts71a3=K(fA8ulV&^GImu zGs8>vs?mdZ1^3TeeUkvmksT4?I4^vuKYecW(+T56Z|gFIhVr*iga+ZxdTCd6u}H!K z65gf4;DSOdb@hI6zx<2(F;E(;hoSHf;#l($h_2YP=~c3T-80wS@>=&VYKt!1;$xv{ zcIb`}>vQ*>AR4k^*=AR`uE{EKlI8bli}^ExmoQ#8IhWZ0IHq{s7DlF5^e_~TSCc0o z)nGjNck>AGk+ntfF?t2h7BK+W>w4I&hrZ7qkn9ooHkd0WraF1YY#Q^fr~%Ia1eltz zGm2hXuXv70ilhcqCu%o)b}6B;R~b;I1DH$A;^_zmKW)cQxc6?Ds;)iRMmet6wJy>^e1F^*7sSRDVnRZR?g>;`N=wOx!w}3e@^I-> z`NxM&B+f;n@tXuNRCyZz1ssp~K*g?$u1G+!>{z!gdJXm#nj%$SEx)(@Nd)9Kf9?H7 zFl$xOeDvrg2jU1LI_ikf1gtHZfn0Jxs~S>vg=`P{dq7_)aPb>^1pLKft7Curyp%G1 z+d%@P@(J`0deV=>-}r&cHUJ^mLi0Eo1>uKE1+!m7R_GSn!vPqsl)@l>rW_TyplT#Ulm-K&!I=|bA*#*ZzFKe<2;K$89+`f-%GLPc=X$3;2BED)QWI;68*J36 z!}h?2Qu)QdEnED%k;33_#07Q!=-u2%q(P(zv^Xngcok%|Zdn^)nZeS&rNw~wcVS5z z_pc=?wcpO-ZfF4&tjnJPRo;8UD{ouFVvlaK?J<1m{EgvaBU>a|l}`V83e?3z^UJLZ zSd}TVi~g;qtz`jf@9sd3!K|%B7IorLESS@EK4uh|6E2YvLe>UyMz^Tw}d5Hh# zZv4|DtI&s7sDlE%RYF&&OnWun?UPW4wx}%cjV$#^&|AHBOT}^5Y@3? zbH_Nw`lPimR}O;} zwF*;Qq%KVIlF-W_``=quO|s7ck8bhi+YM>RI1b2%SW{q?H(zH!Y0sg=wCC;>6LyiAjE!KjuaR#+VVDh-<0m90sGy-rz0QhD^Vhm6dJD&g9UmSEGGcd5360 zXla3b8y!G{SH^EgVi7n6J;-U}d==-ueINs$Ct(z?xZ`pLYrX@xr_kfaz!z%GqT!{` zyL^UQc5J|aNIA{>h0#nU-k64j*XhtRF>JL5u`Wi@h0kSIWYyu#ZHwW|hKN#?I(k)i|?#9yyk}th+v{Gc`kQn{LTIH#}CI`1v!4I<`tCa1eG0uAqt+vZ4=dZS2YM zRW=tBmoi6nqDg*fg=<9z4lf(K>t3N4Nyfrra+^!~7I<|0`IKF|pw z2ntAKO7twE?RxrtCTx*{0|Zw<@<*xp0dC}8H;!4?gSM9z0qgyw507BW?}Nw48e)nc zsA3;V!bTusmCnsjv@vlO|Y_kbvGIni8LcX;PVg zTx_Lhifo{gsSTRyO9~|(iy;~HES+W;hhH%Y+uAvhVQ9seF}`Y5cy|Qd$AF46A@ox% zJY;`fCm13`@jZqyezJlb%9EwE(jfhu<9Q}9a&ukx__EY~@UEI!VUb1+r z^hi~l^_wr4X-J`VW@4{@471+96?U}mS!cw}UHEsSz?489emcK}P>y#qv^%h^QB~04 zJP-Rtte4nBY9<@cJMbi*-IQ4!a zJK_!umt_J&by(f|p5nXDR?U>d_sbNna{`jEK0JB|URu%=b^8oEGa`IdjtW^hLh|5{ zY@3(#^&N|lkTfjBRgpCK`MS9lKyLMb!KQB3h%`yf+x7l4=6vvR9;&Y~Mb`LjOSj0Wb@pH_a>046mUuRwd zTW=>&4TC}S%@OFj3|Nx$W)0kmZs2YiiJ_0a#W`|&3^5lM0X{awL($&Qm>ui=9L_Q# zArD6oJyeLbnWA9LVc?_5=;yln_R(lDF~nS< zgI9eNOdF$?9^oI=|WhlW?7W^tVktl7t> zr8-^P2a@zP6Ob#brK>~SNI%ovMupnAp_T5x4j3Os8wN%RVMivvH`?E4#AF%@fK}vY zEb56C9&I{;wrWIufH?{KSF-!${TC{JqO8xQ5UuL{>V%yFp;lSj19VW!;m$5X)nPvqG zbd)%_n2B@WwTqq!yt6N*t*}VK!K9oBse2@n9RKkF?E0L9TQk+E;k%5_*TxqNy3tW$ZMv8@zS&H2%=Ea!RL=7I$IC0j;F{_(~>sz7&j4`uy}bXOt|3y6?dW-nY1wF9}nGe zgrEet>`0)ztb&xANm~nniwo2qWFo5#) zG1F-d47=o3Q7Ra0bvR0<;k%d~1hDoR*h+@pAd%vH3qRHvliMin7BryO)En>hJ z29PW(FHq#`5?;CO)PYkHK+n(`pDSXBHMwB7yupbERZV;?TBL@vK^3Q4er}l+=Ev`u zHD<{SQJfN{2v*OGt)PEp283e+{ByvB7j(iPS5`Xs;DL|J6S5p4g9L0n)dyIg?}D_a zxfI{|V?0uU@gp*rB@S=9w27{@E^R?zwrO7^6DpGby=At<4H?3^N663iT#tq3?{CDx z$poryQL{pBnXv8DI2Aq}ROA;t>CpAa8bSJi@ik=+G|EoC&fZg_b13Gb00w52&S~ZW zK}m0CJfHBUe^uLRKl%cwJ%LIB1D4LBwsR4{sX{bcX{z>PA;M&WSOI@C+VM29X7ZBP zoCC!2zwp=nK*U3Pw_`=1-l0;PnpFV>aB>lru06>r4whLel01Ub9?xXARTJ ziHAX2%)HHU=NRwi8KO2b#~ECdqu*yh**<75X>ceaq)TKwUj!sU-_VBg$;=k`t~qPN zci(*J!}#LIz=N$VX^IfWDoUerMh1NS!^(#1PJDpiE0#lcMorZTp>6+JUIBnpN)2(R zn6;tqiw-i=MHyG?%8&lKAM3%89ebw)<=FcC>k6~wNOVzzK{Rm(~oR|H$q6`iBBim~Ce0vH#%JJ>hC10;- zpAFw`!GJaVP&+o66}ZzcVim)&ri6J`a4EJ`NHUh^blH6+2W4O)3jlbPm~n?&(_0mV z*}KAm{bO5ie!@C~Hcz#t(b5Mt%w-DD+tmRWLezHSPI2oJGDT*j>^r9{cV8BTDKB6d z>p89XQ-SXsi?ZlT_>B*Tpq$TZ_)MFsS1uN}A)B8YkUVcOg7GBdfK=MH{Q?yARZXP% zXY$Ya8-!;xa%ERR@{9^gM!FL%%?xp*iG9To0Nftly{7uL^cc^r*MEs^8}y^G5J%d; zNWo4H2qP$avZWS%Bv0WE7;t*u#QCNoGi5{z9L~U=yHJrCtp%_ln?{1i*1W!4m&C7O zjcG7&x`tLd!Q{U@x^*Dn1jg$!YzAH2_R^AMSS-`eoJ&;DJk7R{R?uh!WLr1~#==nm z+^-W13JIM!F^U+Cs#+va&hS2jQ8i-xArhm(>G3upAmB8|i-IX*=fEyvHPoH9%iGq$+&Ju*^ti&{uhacB`%9jPyIK5?lql>$fb^rK6GY#y;N|#}J_!}@D z{{@d-o}&|AQqj5p&}1e$w+#}~fIA!DhZBY8mvsB|Q&CX~Zvdmm-eqQ(lFJ*f8_!g! z7hqU{%+|j)j^t=%D0Bc7jJF7$hfB1QD-v|jB0ywhn`kfY_X-*KNJp53wlF%!v@;PyyPCnGtd332J)>YEA;# z!o}){8~mr>e)vLZl583>ZMyO6HKr~I7cTL?)+%1ao!T5hOVFI@0iqilA7a(%SXaVb zgDJjk0+I|?U!2-iQkvrlURgxBDZ<+>&afj}1s9GGrtwEUnU@9>2PV+NpY9&L zaxxV@%I324fE5WHu*~eNC%Yr_+_@c6YChVU#*-ZHi@6__yQY=9rk{er11*d}ClaNRJ|Zg_F-!f~}#tOuP1E+y;fLxX;Y4en3uuthDO%CGCV+BBM2aawTs zTg_Kv5eKNbAe_;dE*fw1a_R`6xLOC9hC&p-j;~L&Z&D9Xnl?VS)G-ebB!+tlg3#)3 ze?0o?CUZBmy{zR^1_(Vz#-$szV@XLq5}1kt9}RfYQL_@Mwtyu=W>d!2={i6f$&jQ- zZ-{6Xdb4C$C`2VH9$Q5xr-DI0?!BFulKqdAKtVT8wyZr?q&q#m>zs0#@7zt`G#BZ{ zH0D=Sr|Vk`(iGmJ)95C)hkmDY$?;REa=qL~aw^16S>s3rJ$|NuhqfU)7-iIS#GtGb z>Vk6rK`zMI2#j+84>>NqkrYGp!X_XD-)u4r(l#Qb6%0B$TjW0+;6%WNZIqh!lu5!uT z9c&|7vm;R)?|zo98G9j2G~JgAinC@TArKeZl-@!=S-~$av!ba-0mWAZXahn^3%dI- zYsI2ES@b?rA#5*1<1!K00m?D1;z61Fli#Hc)P7BJmoQ-Sw#Vu515d)LumKqyh@8UW zv_f{6`H!yqwcopq#fHWcg~GWp9&ZFzr8-eNcsAfvgp@pzi?CX~=gy!-E-Fl31`IeF zew*vUTq23Qu=ccky8z{cR;mw>jVl7`0tT?5Y;2<{sFLFUoUrYkb)&*h!)U$dqyA25 zv+Zl&Q(qtq*Ba7Y3dJ>CSb_GMba2GiR7Qw-E`=gJUae3Y_aX3IYcp68F}HxS@!w{0 zpnSvhZ620OIQLqhvk0*1z)6vg@E^PE@pQ|SE5?K>(2~Em6^5>O+1wYVS1j;=W>V0u zc3b)B{+GNc`yH*eO?rn2d3CK{gQ@E}j@||kLwqC7LCir==UW8vC*4g=u}oc%Sq>>Tsx>0uso)QxDiub8V30eT#;v>T-CDc z0jddrh7#F;hYVSm(Bv@oFqy_rl(NiZ!tez8=B_a);3qx78Eig(F3n*lS|X)Bhsra( zWXL{pHFktd*F1A^&iAd(V5^*@D3T(ZXa0tQL;|S#&W~;B9(2$0kvf|(e_GB#hJkX#z+zUOxb%8(H+2I)%4aOvdjs>whJv!!_xU zzKoyk^d*!tz#Y zTt(l#YFx}M4avxl++-%~Yh*V6&2on7f3Eh6-oLSRV+npRGlv-mF4fFdo$k-C0(F)+ zZ0QvRxnU{XFWoEj)8Vt)y`L_Ob=jy@O4nPINbqrYQRjjpi%w^*xXUGAM1n!;v6@JjD8fAatin@JW!=Z zOF^(NO%(U)S;&bG`P&=yT;$RAqJY4pfqp?>tP31N=DD30A{pI8G!<0tvKPp{qIwAA z0@OU$=AIQmT14!D+oesz^^>ZUqyRgkO{_#)9K+q@a@*(5^(+O2ZDMLevY4tI!KOoH zHAUQR5?r$yfca;5s(*uXw>j-9@KrZIxA)&Jj2(&3+cgmwdc6rdAVaTB8?zu5D%t0ITb_9B`S%+wi8P`$75-+& zz0>Uf9ZT!aw{Wtf{nvy4u`DOS=_1385bxpq*9CVuW%pj#i;DkP!$%gNDVBxHY`5N% zv(UE#Ua!ZMLvY7Viq!me;tU8xm?BEAUb1>dzKPHn87CmGd!REo_S`kq{NZWBB>)5( z?PWctJOn*x1SNW?S?0j4rT;A^2gkfo5IV@HO$)sj_lL`s)i8hyb5cnAYGqL z5?CgEP2@&4-2T`SdPp7iS~l0oOw@Z18{?AoDV~D~Ss!M1oH1@s_MM}0*Yp;zTG0Gz z4XqKjgj(4u_!_uI*BmRbq)w?Q^hsI+a5=4YZ#9HeO9CC~V(aB6BP6=5IxEpT?H;hM zc&`u#_URxaj&OeSsx-^_sl$?4EJwO#4X6tBmldA&fK#Q(Fs()UO_gu|O_VdI?jghxvi4j8oQc-~)2f7dN{J z-I0RE2`gG6Ys`RSIy>f?GeAseIKJ+F%%3nISwjpL8>)L~$k=E+tn(@8m%hA<`?@ z3F%k=f^X|TbG;Dug%!Axm}L_4dYL#B6}kdn9;wKL8`_pw-WPG2R=2Nt{YXBr%>~Rq z=uvD`!Tfg~(v|&aJP5(DqAJ^35zwu~saRev1>??dq!y10Q}hHOj{8is2fdYhB`fXr z>&WGq-kmhSyZPF~lv`fMIp6;s?L9pVM;XP^q|w-5|BwW8;6=*p6}Yw0-X^0i6g>zx z#STvf6a&KvR4?N9?Y=G8gm7cXT9}-6fp6geVLZ&^&O%86l6o50;Apt<6y``uAmj3z zt6sfSFMQiQFEvhELgvF8qXCT69Wi=0BeP3Wxk;n$C|(&v#_?5jUiXZBtjG~Kx@=e> z9=pkj2ML}d6oM>sV*#>Y0|vYLc94HSv*G3+KZ{ZKp_<{R^|0L0l}z)22k#2z%V|G% z10okVN$FzAL1e5)FC{-p{b+?W_>19n;YS>^V{PY9k;2+h{jVwa`TQs4fPyc(JRl|B zJ_KIBS1heyUiyywb$|L9AyU2}tBVqad3! zFF>)Ok=8{Ea29gmGb7+)s~y`8J_eA&gaF4FTN_Rm6h_STv;@zr5S+|djjYrbvx@Ls z1xOs>Sa2hIB0siuFd(&Nh$w9jsnM}#k8I76+Ir%K_I-OPflJaKHFV?+d~1eTRRbhf zY>W`g?d#}7YJI|PsP*KCyG0#Z8m|6B{-&PFs#AKp+nqmKe0YMk3SMuKt^QTAsDBd? zySVb!L&uG!!R{o9habpWii?~_r)ocgbNq|MZgBBv7aE4nJ^OM0m&vrutb+jplT$GCAFK?| z7~nvN_B)mLmK#*RN%Qyp4ZTwbyX*FBAiWJSmuIomBA`ro;pBc<1~6LJNF~;_Zh-G5 z&{m-`K{U=BiES>BTszUJwHzmlh-jUk1P+aTMu4 z_z_zLDXn79<^|-5z@3jf5C5rs?@Kv(PwG~Gyj)(73^~B#Vlk9CZ)Wi1g!C>hprsVt z4Xver*X^$hjRB)Wp=cp&3H6V=?N-qVewL5eBZ7sR+^?s3bf{#wHsb#QXMg%TStQG1 zgl{3TE77J3>%EW%_GmYxstm&E)2<2e?H}5@-G1rs%NH=!PK5tI8XjXKWRI|!710d+ z_IJ`rnS!r|yh1V^U@fxv`8*QyduOwnDG}c>cAd9yHwoy?`O`a!pG-h4LypU1+#;r_-$JONC=i7TPbac)U&9D?WJ!fGiigXH}g14q>Eb2fim zIN}yW^e72&OjuXkI)|~C9RmU2ewYHV<2*i(m5SLgwnr%JJ$N?L!2#|#Q}m5MJAQmN zpL;mTRB&Pfsud&8M^~AA->^Ai3j7DvV6skbxUJpROY2QU+Cvay+ z;{n{N?f8}qr3SDp>tMx?hX2eO&W{~ASAbl&I^TE{H>4=SGdqc>V7UpjS1+<~*7rgO zMCmir0>KpRzm^o`A%qE8VW{G`ntfP z4YZXFJDDpezY?83$Mm{R{j(GIW3ueIMclfO^4BKcJkugV&I6Co1TfkaSN-w@+lyR8 z7X21(&{u-)+}#QfE?>aTeT6=Q~^yt9YylCu9FQR4LV zS+73Gz_tmnTLbB^pI?^+Xnw6VvSl$?%bHI zxc@Hd!R!ADAb@^=K(+~x-E#-AscUNp79$xF8*nSoAjaJkxz;6i+z_yBlF~G_hjzi& z!Lvl5FZ@2QFYgqUfG4Tx>;nB}0DBXQ2EP6ZHA!!Ota z{y7}U)_OG8l|3coL;pde@VK2sktOr+^nGjlFctq;mt`>(-0YU@UBK5&5dY>t_=^Jz zMRl!p1(|W-N9b6!sSVBl&>ve$N&8G5vrZa}y9bSk2VcO=9CAYAWsi?>;yY<*R_lM2 z_aqhyx|m{5wEjNh0Fti2bC&;0;rb|-F-bKx_gI#TmqT4U{~Q`1$^6WG#Em)1i9BKt zeJ+*G{`(c$_iN<+vkS@~A(_R&iiVQgksyFC;kMNhC4WBs8S4W@$n5`MT-&;j zXoV07p5ea7KuP(Y{N3uhAufbQ^)@BBAmiU0Mrs^}nA;n`vAL7bIwCl-I|BcZH(Y~1 zZuwqew|$$8^5u~o3!oWzCKurwqpD!ga6D$#8t~jlPDJp?C>?k(;XAnJW0|uW1#cy8 zzW4jN_e^&JxoFHD(T(2T1!nn13_>`e5~Cr#)FV#6rMba=wmMW*7%Eq15dv=Nb$5e7 z=bnWcRR|72O_k`^%2U+iamdJn>X|WHP zzsBqgmtqe@t({&XiE!=ktQy59>GnIUw;`dcxsI3=VW}vAxl*7+AAQA*SzdhuotPb- zsm@7_h3k*sY3M_zFxmeJoaAT2L5Nl#11HDd?2obD zmzrum5}|XyPCY?th5P{{L>RsFL}Mo!1~AFHMO^fxn#{(`gmAGnQ&E4vHtM@mCj2nB z#W;r3zVpuw_Mp(E{Mq>~Uz&2x66XFs{|de7;}iV8V@`D|KCZF?;-@%YikzC>eUKlSH-Rk_;rM=4gOPyQ**mU!H&oQM zI%z$)PoNbrv%GNa(nEmst?nj#>CD$^53O~^NL|BS9MJyNhl0?R{9UMq2aT$f;Ir); z3+QGiaR=T1x-@as6+mG>M(d8x?MR2Am(BgJ=lfG)&ikBq7rj3%3$RZ|Ct~f%_*->D z^$Y8vU+#|?ynsYQHg-56$#CIpn0-uC$#eY#_fJNE8`SdVc&wx2g%-duO_wLCSo?bf4@1ee^Xf^|QIqm2Z_q zD9R&U^w;}}@t6mp&kg>cL2x2}%;JXG-@koQWsX?TwV&SeXDQc;3wW`~*3}wkzC02= z5_|`anXeiU-)j+)WRcUK{_kHn`G%7s#uBI-ny|d5qulY{&D`0-I>7X(iY=0=C}GDEsWD!%%#NWI{&$Pl4C5J{- zgO9gxO<9KUP#2A3>&$M>FHQ_wwex$}r}^GQ@z?2VSpJ9W;(En-L|6b;ShKAWrHiN~gW!clmS%GV=e^-%zpuC3GRpjQ_pa$y)+fez7PUs9l>9lJU1gEj}cv;WidZ1xJ|EqIGu4O$l_8L_G>L0`|1??OHQmhd0#o@5#j|}V3B@LigIS*T3 z7y2E63GvT~W2}xu{ic+D3?k4J#-x-iM8CW*(*;h5GR?;hweJ`nzy#4bbD=-wfFLB! zIb8K69NAl7F{4~IIxxH`Q6q=ID4_r*QV;qVl=`$;eza~bK3VbDhhdYy(EY*a-8$$0 z10vyWfC7H2)Hv4H(|(JMa60M5=ItSR6#3eiVOUMc;Nr(j37>PuPDwjLs!U;tT!l^B z8xKdG=|DU77MMb|_9XPcaRN^zx0UGWIU|0cFSx4dB7>s~h*cfOi-BlG!}sr6C9-qB zqtiV*1>nQvp7#B$#9Xc_95zv1XVc8+B4M9fol0jgzWkY#kSR4*OqS&%>vs|tuASG} z^H7zIagQ!V__{dyz!CnQN6iBd3qhbEoyWdc?__)S+T9Bjo8gt>!^&ey@U308t8F?j z7?zd4v2;tnDg1|30nl_te1_=91qCjBT!rsw!7ZFGaVj%u?nYUhwsZvwwZ!A7IBOv% zkcX~20vMqO%IR!hM%?v2gUu|H!0ZKJF(A40%EsiELf;oC zNd@gg2>Wn>o3-@Q%eP94t^44q6;J*`3;p;wyk{LlrTB?d*6-C7Z&EcY=6E6C(#efc zR0J=qefD$x;mF1+@Al#^i#<>+sj0kFk$hfy)E)F%`;PW(cz=B8qa1T0`IY1qT^O6t zw-`}U@2cLQ9XjYdZ#lX8FclO7090>^^`6QgTe(m;#}b$R%ga;!ih~+{#b?D*58upSNZD?PWW_)lI$3cmYJGSe0CU_8 zG3)qgwXSBi7>QUip7}KANT8p_R9g-eponB0RJCcg%9qxC6uk^{!;b}5AP*QE5oG@( z{Pr$9)`^S)^!NPoRJF9Rc~(+V0*=?Gr>BFfrXMgfvfm z(0Rl+%kn42a^VlN*u6dDyzZfemVrVQhQjBl3vZJ_!a!yBU7cJgXN4%33jwyH ze8oA`hL#pyn9}csg_9YXnGw;^(cr$1SN9$^Jg(MdWsASdrnw1;KzxnEvwr98?CcJm zl$WP$fDOMqH;BGO;(oO@Tk)AwE55yWb=1%VZ6+O+oE4l~eBZ5vN9LsJ!I=xzDw*E5 z9(06$owS=-jDsSm&c)SC+Gx-%Hcd4NX2z%{1t{KcNj!uaK&iy-M%XY6S=adH2(JeYg*WBxJxOIo_{9L zI~kSd(`lFHvDSBYFC>53%*?EPZq5x&PUjIoe+g$*OrOc&p#?6{XhPwhVdG*F5*wZgaPI^ty@e*nh zcpVg;5wg1K>ER)F@7}#9>+9=auQrn?<{C28Pn*vTlgu!y`y&N9TH`BK;Z-b71;1M-(GpIlyv z=NWod&Yj}-782Oc&<*Rl#DJ!66Q~=_FP8yKbd-r-1Ihb$Wn<$AbW%-{B!mz@cC|Xu zLGs;DbUTU%HPg~btPfm*CsKVN&k%+xZ0Iv@QL!IX(O%*JRYv|)zJ*C%3vV#1 zt(svxy1t^$Y9_5-p2ieZ2a0Eh$vweL)zB8W$G-!f#|000(`D2Bi9FA}+oms!_D?#5 zK~-X`;!(fJSZK*hob~xg&oKMTs5rlPhKL6u?lwY^4}r0h12TQ|^QalNevTpMtsm`L1#{(_kt2#hUwSEwpWc`B6T^RaTPA9|? zzVj*?A-w71Qal*t=0oejvQrFf+4HDmsN(4(n#6BgAmv(19`V!*`Lp2We8n;u4P9WY zbW1S5NWg=@8@{b?%v^CWbc_wK30U`0PB$$lb~x3e1|gkMBq`mQrcNNYOR+oNMK|zV z5)KEQtwO$qtG&^}3{R3Dk85MIEZTxdUr;xRjA0Z(#BUXU){MJzA7=Rc@~M`y1+Htq zLQimq@p78fD^n*$UaqcwEAeUJK58w@TwTMTspHN&0O0nz{bh6gQC4_cWj79P%o(no zKQG2p$l4EoG39wRf9TpHFG|ClFdSY+Z){eKgxzd~=I0=^z@zU#GKxFzj8MP3yprE;! z5jC*C-~Skjm}97OdfIO#D-&z-2X5Ux$dlqWd~wuI*A&nY{KkTC=jJ{+{9tjc++DRp zhMS>4`TC^QA^FpsSXqRlrQkWa*g~N!VD&lH32Y9 zNUEWAZBQS1=g#Lc`vVGC4CZ0a3flK3}m*4+M|@yZi~Vasch0-SiJQ7!>#%KPhAO z#$Zv6c80={PKn|6@?$#U59PhWi_0Q3;zIUW$g-nB-i~2=c3iqQ@%HaRLmp>l_A!7; zD?q6-zo9o6+3^_q62&kdFygy`VFWm4-i5BH=RdqL1u0z9{^N6)-fI$iE-)v@PK18| ziCav7W~R_V2|}7O=tduE=qIqhtyj$M)2l;LvPjK~ZemxTA(z@XvzZ^ApX2vkmT=^w zh?<<)3*7Buzjh!VO(|;uuc&?++xr?&5>d=lRS`AP2GCu+9cSNj+ukMzA7I^%JZuSY0mo5A)NweV|Y!jWY+F2=McoeL#4`R zjscpWG!1_ox@r7VUHve$u}K()K67QLk_5@Gv)>pMhfwF6|MNNXo0I!VHCT0kXN_p~ZKv&ogF`8FnIjK6pslrm|}uBDqHa zR`y41e|P=TFa@GnPG%aq9sLW|RV!b4v;^reCpBdMLERrkZABuKf`ow1OKpRr4V7>6 zLKW_An6o}7H&Vndha&+&haRU4v5NQ@?&H1mak^&+9&H{naTqeD7;ZpbXgZ--B)bOP zb9dL^*c9ZQ6K{#%RPV#YEVN1h8hT`xsZDO-=$f>&X?Hy7mJ&iUq#$VIV2h1@>sv<>TeR#qMcv{_VmG!|fH%F|T zU=v10;+l_!bwP(x1Fb{$;KLb^gX~+b2)l+?rp+SjSI_W7eBwY zER+50^)CEoX}2<1PX%BlVrQ0Ww&f`A))D$kpU`+htyVB^Rjt}1Sl zW%dG$G7ph12jP0|ID03RPb=46b{mRE1GVx=7vSV5E1q$pS1X+d_~kN~a_Gj@4{ZMo zXR;j7pTIvf9g3kbW&()2RCEX($T(R`sYJOC$RekF3t_EQ9Wl9_f6VB>hrb6oIur}m zOod_WK${Iy#SHr0pvv?=x7@6|fs^Pr_e{RWTz71WJIrbt|1SUH;eSxW6J#cT zpXJ(qqT-A2fXaq9Y_id&{S&$|&i*O~hP2Hj6RhG>oe%G4snS>G7giJI0Y=YoNmet^ z^bJ&RyEJ`f6-j%x4D;)dW)=E8bQlUMEohmn#mA$}pP{^*2nMg2^9T8{C2 z#@O)cc>vXytU@g<#)g}VO~GgevFcw$@JC0HF6&FBcb-ICPviz9LY6RHyx!>ZMt9e(^yi%vSOl@bG`Dgd3LzS!e2M*9!IsV4MlEzPADg~#`t0bU< z80P|VQgU31eP^PD70hOCn3#^C@&H9xfeTdmNKM|O@1!SpWzvgLam+C^nrU173a+mk+iwS;BYv(tU{m zOzDJgHljz+GY11IpD8e3-S4+C`+=xG#Pv~XC8tHVYzZ3<@O7lzbLO#S)2#a3o`?kU zw2%L51ipz{Oz(CakYuj()9pf<*+{3fbWpLI_R*Q>n9Wx)PRI0c_m^Gw>A4$u%d%!Y zKHdop7@`(I#tf=L{u~+}=`tC}_(r`djNt7^!LUhAR5>8j$+5JBU zkGv~8W6^dd^XplCTdOYxcK6I#U3Q<+*yFb*MH60ezQiRtf>nd&uQ)%HFz}tb62mB2 zg=4}F3Gn@45L&l^elpi9(2L;OJ5<@%tPCAvQ{!8$dJWm|i!$3GH^y3v_nij0sjNzP zq4?W28_7gUGKx~)I&PwcI>Dw1anymBYLFjoG9{ou?`}Q0A5cwP!ot747X@53{d?z- z>rVz%^etGwvAu8RHT~X!9KoyFl|=WFe>1G#{b;)+(?0#G1@N z3TRqy6yqi*>CDp24eS~D{wer4?k80}`Gq~k=f#bHEp0_p{WZ*xh4)O50pe^?##=hd z(^yb2D+y-TwX5y9UGr5l@NaIvsJ&4r^y@@?u)Ha6AzSaq*Fnz6z7DMCJ(QbqCi($* zh}OgSLxZpo9h*1<5g{<()Ux3!$tvZqlYQ=|D)?WlZ0b=A5t#Y0u241hL=2@K-dx{3 zM9F~l?>a;7p?m=W+L8j_e26L?sabNkABu_Voy8{SAI?#ox@V#H$WG*n>RWkXo}poN zv*M5=itY8pu;BD3OZpgEpS)^>I;8S1?gi>IC`5ht6&93_-*nUN7hP&<(6QXJ3fIJ> zM^IJ}UW0zm6d;{xhmK|5xcp!?3-&xR(8Q=)Alk?TI5sY^F=Wia@P01bJdeaxO^Hmw zbxe?QKvwc86?=00`8#b{pNGkohz`XUp>b^Y)?SB zD^zet-mS#-CxRlkKU@5fN5Gwn9_?`2hUmHtjWnnA z7egnVLxzJG8SJvYQ@d758nK3mrzEq4fuTNnb7#M)q;!JTcLlR#@)@y|%@3*geyEL? zum(Twyxt-4F3%5@e{Z!z;~*kZjO;=7iKp>Hw;|L0!+cK>(!p-A*k9nWy4#l{Ltb>c zDXB~INF6=#0h@rX=L-C)yYFxwev*|6%8@*LISfXaRQzx{{<)7w02;sjkE>nBq&Em> zw)lFY^ypMac3CHu__LNA@v7z@2+Bt%wixjLfTlOF`v)b5H%rNJDE)E0tDK*XpiBX>Vr;WJyuY&=Cz^zp{b^-b6b+M`_*hpAhX_{M^NkF zBrGD+tbho|*0Yao`WG?mN4@7+wz{L04~NQ4kdPjdF>-G$xf@iZRK%Z}_t$C_`(}~1 zSu;hCYxH<+YysMA{3B6tAKWk!cOw4Q6<}#-F^v%};0r$aLYCOEPNtnhH�d87jFoQK~*#o?t>NV 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 u#~dZxAPm9BI{cG?9Q`84D-;T$YB+Sj`Xw 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 atN%NHLPih7-;&q=$=}zZFx)@+`+oq@4P>zZ literal 0 HcmV?d00001 diff --git a/src-tauri/icons/icon.ico b/src-tauri/icons/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ec15a38267f53f92971418bc49ef79f36b8e3e94 GIT binary patch literal 22163 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 Ef>ljUwg3PC literal 0 HcmV?d00001 diff --git a/src-tauri/icons/icon.png b/src-tauri/icons/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f6a704765b9d56a8869da9d6b043c525e009fab7 GIT binary patch literal 39872 zcmXt9cRbbq_rLeLwh-dVri`+(_eF*JSVdH1WM?O%jC<`7Axbi?kx^M?mblke5-NLL zu8fT9nwPtNZ+#!Xzxd<*exLO`&vRbqyl%3kx$!BMvn(JG=+rfnD>p$P2=Ffi#KZvn z*$ex93%%UOp-z&3ytd`2&)G4ghTsbc2Nb@=603r9>S#3en!RkvxbY ziD$S%#34p7uJ6n}7X#Rx)HNO^3BT=R$-eK%R_DAm#dm!HF0aOWUD)P(Tjt}$mNeO1 zB7U4Y$mahxdIyRYzw`$8Rn6H>V%oyBcHk7{cKZB&E^qq4M~GjBu6D+jh(~R>C%hHq z&bfH>=}#`CFnwjEMprT~K$l8>7_oI-r(H1pD{qEo*hKICwR-yc@v)jiK`9INXi-Le z&Idl*+V_@{{|-((v37(7sbgOjI-U`6*%Y zb!|^5F>uH#2PjNhskNN0?K=MvvJA@*YT-#|t%ye9^fNBKTG2}XbEoJdTXa6yfE_9N zTlQxWi`Ab9r*~WA$OjN0F*1a#YDldeuAGkrAKdAlPdm5kn zSa|6B?#yk^!HcUr8g#bbCmhvWhHw`NTK7~EkyT)Ry23867QXbS8<56{R}!$ zCe@_9Uw0MYelH*i!Tvtv&i+2!W*}NsZ|-cm`o!+~Af~q2n)*hQmAlE&VIkDBTylQ0 zhbs8%+Dq(*P5j+8r7q@Di_1OcvfQFLmrJEvkP}EwssR4199hmKrR97Ly=(@RjbwO;@IDAQ#qtd2j zf>`?5XXJyRRU0ajR}D`bY7JYzf^`=r>a47x)t^rMWx~#M)MvV>bqD` z#J2Ke>=)9xTjyjSF}(HyyV0NIN(qIRB|>m^r|@P+H> z>3QTw+fBCVxz9?9t+4i=K0!<=*JiEaew%9V#5`~M;oT=R>0Y?sG?=!&kl+FM94^s z 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-20x20@1x.png b/src-tauri/icons/ios/AppIcon-20x20@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..094aab529539a1cd64942d61e63eebb607095d8e GIT binary patch literal 541 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 Ef(Y4i@&Et; literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-29x29@1x.png b/src-tauri/icons/ios/AppIcon-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..915190b40cc29e27bff81933b883f4343b8eb8ce GIT binary patch literal 880 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 X#JJ|fcAwXje7ki>;r zu8ImG7g9u!N{M7HO4GbQpY!Vs*YUm|_nq-88hE*{_nn!0o;l|{=ghfd#9L^z4DHXf zp0m*Ww--K6z<2s1ht}O*b1i^b@}2&dI7n(I%6IOocaJsyvIF%$5Q53yQ8W=ox+Q&O zPCUaue=?w*Fs7?NFowXU_7``K1Z4@YQUAmNYvV;T$t0T-P1B+nzcpFWsNXaLR?)Kr zEVPzImN>4H7|^ihv6?NOtZss)>Lp1q%cmoHOVTAC7kbaa%8i;L;~`}cwKUbt|9 zujp$kAG<*!nSU&w#Ms-nZ_}MScj)x#)70JF&00a*v}qGxw{6>|`a|$9U%t@MqemI! z#*G``I;lqb?{P=OY zfB!z4;`H>i^2cAle(^nMvZ$ztK79DV3xfM-as{}Ok`lIzbLY-cM@L7pRRu37Vem}i zrf96ZyqxacyT^h8w2%$1=;PNUK*Cq?8x{iX!Gi~E6Cz>7_wF6{5dsr1=nIhOd*;lUMgDCVOBE*9M?^_$RRs3OMhFZ5r%s)sr%#_!W@e`H zMf3xBm?ek@8pIV~g>=Nf5uQxbLST&8sOxUsx>flifQU%~EC4{WuV25W*49>f@!|!K z%g@iJ>gsCB&d%nAC@n4J@U(mPZna?Fzkg?+wvq4~B@9@7nAX_X7{|on;bAsOXiLC? zgx7ajwQF?o;zgR8no@2cCQKG8^+vu4Fgthdr2hVX+PinJN(gWt zS7_zNjT_1waUUNs&Gz+xw*LttoYlj zSFaRVp+7#7O}%{iQvEhGG(-gj1!N{_#0@0b|M>Bv0*k+e z)lJE0-bN*1W@d%~0}OnurKN=v^NfrPdh_NDWo2arjsuvyygZtim{0^J2?cx}7J{)t zd?s0gXA(al97v?0p@9L4pzt#gj)WHgLU@6{;*p0BALj6~Yu7FgFUXO_=P?I-7K>I> zQ$yFUUr%WN8cU-Q8}CmB1_o$+e4Ic2CV6j9PY>@cp*3kp-mhN0%HU6&IKf#F5(WVz z=8CA50Cntw`dwZ$2ww6;s+2Z*%D{)rlHey__PzY$&)9nNoZOJxo6KF zF0FusFiw0C3!-b*&_@^Tv908~D5YT4P!Ry}Kv0+|d{O)jrU;PFpFd}i7>j!c4<6)= zI7}F(kG=pYzWej%PpYh}v=d%z6ra!#N}$Q0CYnS{loS!M7s~ZrKq)K%N8zc0wnHBWe?l3`uchfPn$PyR>d=vJB8Rx%biQ=x+_t@ z4jc4szQQy%-9%qWM0>>$EstHcR}z1FbM>;w-+(&^iyOsxz4iJcSQ3P&8r9wqJL~vG zuoFaNZougdlY@(^s?GUC4{PW#)kYP6rL^hap#+(3B#HBXYyKokOdpM=)c|u|b4TQK zdH)@HjC1rXR*dylLyLN>Ohh4WB1y6Ct3E4mRsgW4g$+;Vk3_8Q-%;~erX1y@nHTSv zcnH&U^x~E&ceu&!?*h*CI&sd%hdD>TXij~BlOagg^qg#rL?h@7trzc~0-^yjW&i&G X#JJ|fcA0=R6@URa_`;1aY1fM06uKq2R2zaHlx! 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 Hu0mjfA$kz~ literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-40x40@1x.png b/src-tauri/icons/ios/AppIcon-40x40@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..efc58627de5b5742083eb9926b40b9b7b3fe7f15 GIT binary patch literal 1165 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 M07*qoM6N<$f+f?ing9R* literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-40x40@2x.png b/src-tauri/icons/ios/AppIcon-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..484a1246e3ab66da8cd7a76d84c6732f19f87d3e GIT binary patch literal 2498 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 M07*qoM6N<$f+f?ing9R* literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-40x40@3x.png b/src-tauri/icons/ios/AppIcon-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ea58e41326f3d50c865104efed4d89b8f81af1 GIT binary patch literal 3831 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-512@2x.png b/src-tauri/icons/ios/AppIcon-512@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..91d08944bd884c4de33d3985d43e3a972ccac1b7 GIT binary patch literal 77172 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-60x60@3x.png b/src-tauri/icons/ios/AppIcon-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e0c309179e8b8bcfd264561f651f13f3bc7ba9b5 GIT binary patch literal 5927 zcmV+?7ue{DP)d-32jtgdSiDzJkBw9OM4gXaQp z2*B=oZd0cIlSbgRg8_68uM?st_6GWpJa*c25ZfNDmU~pdY+MJ|)2!+KEjY>{vDm)D zfq4);gzK0#*(-O9iX;|FIkY?@WO(eRdh5n`Xcx6Gor}26gv;i4-S^g=DQdbLFP-w^(Xn>O3~J^3akTX~e{_ z>m*VDZ3Q(BDHQ;VHE&YLCmR3V?I~rogx}Y6(rBarYBOORsfRAol_A!MY-3WFaZKyb zF(RS3W^-#3%%k+wtr6y2dlt}$sm2sL)up#Ft$RbNSfdIVSUHVDT<8~05n zd^vb9XQS}ctzl=E+K;6~5+yWbbvnRWW(m!S^-Pufo+!2kTxcX<7V9@hQJ=($)Mbc`8ZW7D?<^)ZO2w;mP%8Lh zVtsh(j?R~n0GdENrF}pWo)h!YBvAEf-}0U2l<^Vs(Ig=C&|+d`D2LQFiw&WhyfmL~ z3Dpn_iF%|WC@xm#ICZ~XI;|LQ7OEjO5b9ym(HjWmu+(daiFv0UWtl))!aIvs78{u$ zkyj6G6zhwL)vn$nm0At4ki2y2BVH&bHmulmrA(oO>BO2=nU|K)qZ1Pw$qJ!WJhXUc zu_k)yRxghnBCw}SnNs&s&yX>-yI_ad7)a1y}gcaO?TM^WHUCk~M8x#ynh)?07&k}MiCW{kS|=9@LJ37BQT{PD*h ztHTaEOoQ2HmD-kDZmDj+{dO-;5!J*3f1^<`3#|+hkKeV|URzB!-E{hIfQe7;`gvj7 zfB*eggRw02v4OeDG0}0+xvjeDsv68OXnS;xLx)ncVOu*7-gN){_t)MPpyHqF_f4=W>cq~cAEbG zE3UXg(~x1-s&LPI$RUTQ`|i7M8lGNJx>)VE-+t=MGtX3W%rS?RZ-z`i(oo~gIF~>F z{BxSY2A}|HOqdQh;DE|efPO$oVE*KjPt@UuAFjddBO6QShkft6@4h*h$y@XD!!-$I zoNYx*X=nvVbaHpyb(h*{r=8R(r<|g`|Ni?N%oue1M3e%a`rv~P&N=lU2b$9iaOS)3 zzB{KGzQ7F6eD>LA=U}FD#b#x7A?!EV39R@r1+;es8m=82OH2{y(z2uTh21Y*!Z~)cOM<1=h?9(%2K0uxsAw+(T z^u5O%bBwy~y6g1+z5MdaYK0Y6P^+x6N~!2fT^_=WcQ7Id=LUw^&+`@Hkco5oWU{g{6G>D9#-U!3#Is)Nlr^Pz_xnuq3m zf*BDTfEiC46U;yT^piUF*kjeT*It{41nIp%cywm=Af}<0hjNb#P>&x!-s-7mnPnDr z^2sOb$(oNuggF894Q9{`c;++CIKv6%nZRX(o02@yBa#I^&EpR!(Oly?*48N9qZx?+G9{^I2z|Wu+MaGtL94bROvlwVQ=w zI1Nz=$u@X4P=jB(JT+p(pdijNMF-G%Gz0s%odg;2g}1~{_|%s>D9 zb5AfU5o-(=)Zo;v=m&XfL?*f=Uw;4n_Z)Np9AyB>Gy4QH5<$H<^W~Rcu5YZ!z?`3G z8e<_pKi?Z}xWP$35dApy)KfL5c6sVYAAMB4`R1E?n|I!MM}L;$%s#;k&WzZ)jWd&H z24{{C%pDP}R;*nTCjEdR`C?|-C{B&fA*5#l=EWCZRD0~PhfY$w^2#gf`RAV>NNCRG znE_@@06{bQ0drtuo^)giLo4Pl+Uv(bjaV&yKj)ltrU5n45B!ct`rm*5-2t5Eo_kKe ze09q6a#!-qy*P7>p4k?UPGgt&;xq!FMpn&6Kd4F%JQftd$gX-zR&WZq&p!J&LvsXX zR1EeD<^an`r}5BPyM80em0!81Mj`@cEAoM-2B*g7%*mIpPHhfm&TWAhZm@;7g z&w&L4=#1BOw3=LuV_HEE@!47P>r0QTqN%#;DF z?wP}lYS~iXDyAq$QTk!?)OZgWMTFFl5!`y~t@Yo$ClH^rz34meSxhk3U3Xn|(@i(& z#E6YEQ)teIXQmsdDn+Vm!G9~nyVZvbmg%WgJ5J5LCxL3Mwbs&reDJ{sbs^FVFT9{@ zvb%w1-g)O$tFOMg+G?w<^lQHP=Idw%;9v&O&2)B|aieYVG+1b%g@U9Wtq@gp7G8K^ zJz%7c#I{s~|nk#co*ajI-Xp=zoiPxfpLOEI?h3aU)7himF4XjsReYJ9t z4sWgnumDDYjC)G*)_Bc4^UT^~1zT5h@JWEO9k6ec0YBNtq7L3P0e7ib#b!y6Hx zzWeSwb^iJ1=RmX78q?&DCtbMMB7fi2OncEq7j=M{+lni$sKJc?hxevQUeQ;m>2ZB+ zLp?DJ9Jn;Vx8sgGdIL4=*=L{4%R_sC!<6bO5wn-oci*O&;6zN7|9(dpZ0dMpoPzPP5!VsWFhBVfRVw8Y3LwcAfVzsD#E7_J@a>=~7$VYY)%>vkG z)pZUbqz+I+BP2FZry(_$l?62_^N?yL`q6Dt#-k5QEwxnc?W@ui+UEibETDMNQdv+# z7du8!N9&>#et*6;${P>Y9;8=L_@r zny5l5VViBX(Q>|3_HBA*obSTzQElmeAcKHqgV+1BeEKq6rXl zEx}%1dh^XUcivECvzjLT2(^SX4YlK&*B$rsLP{K-3?-U24~||y00Vt_HV?{gB>w2< z?NzS2Wb)GB^Qh67fByL^FY3dO0iece0;sbNR5mP0re3fqAqmaU0HO@@vBw_E>n)0e z&B)L#f^Erb^FBW)C!qt|wzwyKMj6>eWB_4^StE9BYr!%X-^AaSUV5pP`=u5xA9{H( zG~Gg#DYO^vy>RD~Pd=G1$J|XK0Q&&oAA0B^O>fZ7g>@1)+;GE=88{$3iV|Y%a%>inFnM;AWqA6So4EsR&Cu+2j ztpsIpN%{I(95g^V-7uSEX^`N7%9eGSG{d%}GWGt!b7Im4Z%aVtQeeFR#Wgv;{`zaZ zFD#Ua8f)8{FIY*S*P1Vb7PPFra+0Bd9t4+${#zM9o1WPvX$vn3a6tryymHxO1&@y4 zm?8Ov7B=G92i71T#~j>3FV93`^dbJx5iJ>rv|7^ zB~pMIQoiugI0gYVBhZ)>8ri5MM!|EFX1F{vff?~(fZ0bHnTP6JqU$E8Y0VdW4jkUc zM6u~qgFG@{>pP24#ovr(xHvPw44MJ2NC5KTnTbnt5k}fKMAxBDZR6CWPmKoIvJJl> zu2a~GdC?#nm~EaJ6F{OFJ|6LW`!&~GQ`e15o;+DS^UO0Ho|-_7V?Yet=BdG{@i+K< z#Gbly(V&<)Gk)&1*IrIA!!rXkKEX`3*=C#Ra@A#*T~@bDVQm#GKcRYx-;u61 zL5+|e#i@mUsC-F^=vE#rN;BY@k$U!7Pl4CQ8*i*{5`dX1{5IHN1E-WPq93Ti=oQk7 zk$!Ltr?JxvThhdgX7~a#fo#)FH`NpYEnJk&cJY2wpBiy$NFCTXH9%c7`4V#ZXtZF4 zh-0^;i7zno&>Y0Z3Cy&{O0QJ8$*EnSrq#Jn%#RN8ZlDg;gQt$!VixNJ&=$?`!I`m- z_19ltr?){b`mJ)af!ek@7w89;euJm(2I>F+Z5@=l5ZH$%gp&;iBF=UQE#p8<yCV=$a@XP=dzzomY4b1&4 zKF=qLuILBVe$Ygbr`JPkl+A0?%|~*RXTJm_bZ$crnygpV97;36ZGF)U3e9b?#TFXO zwh3U>i5jOLC{)5Kv#yXHZdPdCQS<|Sk+d#ilRdSWU4@OA0J7D2K^t4BL|}pl3RP6W!w#{3(Oo`h%*z-D8iZPGoVD{$B*y(Sa=gJ zCW3h4m@D4W*z#)_P!cPqBTik-hE1Ow+DbA>-oR(l#EfPDP)jepbg5{D4^bJ4Q$uP26vV6x;W`~E zmP}!LfRhkHIp)AkoH$W?X6iJtttD9WMcZ>Q(*&?;Ph*)Ed3ox50qrs4w4ngm<%C+@ z2zF>33q|=)KmBwb&8Ql>qKgX7>?6*M?IB%&n0VE51*kDm#JOTpr~=IV+OXQ{rAHA` zrVvR8fDd)Y(5C2DvxCzMYzwI_cxK3JRRJ^Y7cvG|P!ns3L+7JkYQo13Q6A`h0L(!u zBsnme*d~A>mmdOjlO|2lfG*0PO>aPeh62*^%P;S(3me;m*W>uU{r1}q-fNpY+P;$u zr$d@I)N)d1jY>B_w|{0acC+}nxTD%n4A(46Y;GruWB9?SxN@MX%s59$&1e zO<_>+1)J2jpm>|c$Y_c6e5$9ci{4iTIvvC^X_9miE1H1wT~0BuNueVGA|?@yfz|}2 zLkf%wn8k7d&_UJ&4LfWno?2R{RAbjEG#YFL%#l~lsUd`T(_yWr-PTo*#(?-HfY~qw zK+_@XktHUd5(|C;m<+RyerO!JOGr;>NZ_1#n4L~i%OR#D_3dw>C>D4&FnB=Q#KXnH z1n?*ts?$-Qyrjy*N@b7QNu{G+_r!7$WRj?w8Dp-)+B~f~EaubYVn`IE=1~lDVb4+P zw$v`l!9Xowt~sddC_I$bxZ5`oZe3fhoYYl#sFohuMn}YCY(h({2n7*q7Uk%s`N8Ty zGNB>E?<%RH2r3@BM;(Z$pbl?Mz@}aEv`K4qo4k$HS&PT^1X0emhUiYj~&iIWN zxkm6USS}Fv3GPwTmO|g(?Of|n+9`k@GPo^+UdM@K#ziq*brmr^jigDohu1RSt3jMQ z<8lB+k2^+_uJ3}qa2zCtXXKf+G9EoM#vw65=>ljSdid&Q{{tTdT$YQ}P(T0x002ov JPDHLkV1lfLS~36t literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-76x76@1x.png b/src-tauri/icons/ios/AppIcon-76x76@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..b977efd57db7920128b8f2956f3684ee61df4e98 GIT binary patch literal 2386 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 Ef}=r_yZ`_I literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-76x76@2x.png b/src-tauri/icons/ios/AppIcon-76x76@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..30cbd24310fd33590ee0925c54825ad02082d596 GIT binary patch literal 4911 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png b/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f4b97449c79e0dec0d7acdeb2bd5af35b1c33a3f GIT binary patch literal 5343 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 + +#[derive(serde::Deserialize)] +struct BackendMessage { + event: String, + data: serde_json::Value, +} + +fn get_project_root() -> PathBuf { + let mut dir = std::env::current_dir().unwrap_or_else(|_| PathBuf::from(".")); + if dir.ends_with("src-tauri") { + dir.pop(); + } + dir +} + +const LINK_HANDLER_SCRIPT: &str = r#" + window.open = function(url) { + if (!url) return null; + if (url.startsWith('http://localhost') || url.startsWith('/') || url.startsWith(window.location.origin)) { + window.location.href = url; + } else if (window.__TAURI__ && window.__TAURI__.opener) { + window.__TAURI__.opener.openUrl(url); + } else if (window.__TAURI_INTERNALS__) { + window.__TAURI_INTERNALS__.invoke('plugin:opener|open_url', { rule: { url: url } }); + } + return null; + }; + + document.addEventListener('click', (e) => { + const a = e.target.closest('a'); + if (!a || !a.href) return; + + const isLocal = a.href.startsWith('http://localhost') || a.href.startsWith('tauri://') || a.href.startsWith(window.location.origin) || a.href.startsWith('/'); + + if (a.target === '_blank') { + e.preventDefault(); + if (isLocal) { + window.location.href = a.href; + } else if (window.__TAURI__ && window.__TAURI__.opener) { + window.__TAURI__.opener.openUrl(a.href); + } else if (window.__TAURI_INTERNALS__) { + window.__TAURI_INTERNALS__.invoke('plugin:opener|open_url', { rule: { url: a.href } }); + } + } + }, true); +"#; + +fn main() { + tauri::Builder::default() + .plugin(tauri_plugin_shell::init()) + .plugin(tauri_plugin_process::init()) + .plugin(tauri_plugin_opener::init()) + .manage(NodeServices(Mutex::new(None))) + .setup(|app| { + let app_data = app.path().app_data_dir().unwrap_or_default(); + let app_data_str = app_data.to_string_lossy().to_string(); + + let window = WebviewWindowBuilder::new(app, "main", WebviewUrl::App("index.html".into())) + .title("Vyla Home") + .inner_size(1280.0, 800.0) + .decorations(true) + .resizable(true) + .fullscreen(false) + .initialization_script(LINK_HANDLER_SCRIPT) + .build()?; + + let root_dir = get_project_root(); + let main_js = root_dir.join("main.js"); + + let mut cmd = Command::new("node"); + cmd.arg(&main_js) + .current_dir(&root_dir) + .env("APPDATA_PATH", &app_data_str) + .stdout(Stdio::piped()) + .stderr(Stdio::inherit()); + + #[cfg(windows)] + { + use std::os::windows::process::CommandExt; + const CREATE_NO_WINDOW: u32 = 0x08000000; + cmd.creation_flags(CREATE_NO_WINDOW); + } + + if let Ok(mut child) = cmd.spawn() { + if let Some(stdout) = child.stdout.take() { + let w = window.clone(); + std::thread::spawn(move || { + use std::io::{BufRead, BufReader}; + let reader = BufReader::new(stdout); + for line in reader.lines().flatten() { + println!("{}", line); + if let Ok(msg) = serde_json::from_str::(&line) { + if msg.event == "ready" { + if let Some(url) = msg.data.get("url").and_then(|u| u.as_str()) { + let _ = w.eval(&format!("window.location.href = '{}';", url)); + } + } + } + } + }); + } + + let state: State = app.state(); + if let Ok(mut lock) = state.0.lock() { + *lock = Some(child); + }; + } + + Ok(()) + }) + .on_window_event(|window, event| { + if let tauri::WindowEvent::Destroyed = event { + let state: State = window.state(); + if let Ok(mut lock) = state.0.lock() { + if let Some(mut child) = lock.take() { + let _ = child.kill(); + } + }; + } + }) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} \ No newline at end of file diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json new file mode 100644 index 0000000..736bb52 --- /dev/null +++ b/src-tauri/tauri.conf.json @@ -0,0 +1,26 @@ +{ + "$schema": "https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/cli/schema.json", + "productName": "Vyla Home", + "version": "1.0.0", + "identifier": "com.vyla.home", + "build": { + "frontendDist": "../ui" + }, + "app": { + "withGlobalTauri": true, + "security": { + "csp": null + } + }, + "bundle": { + "active": true, + "targets": "all", + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ] + } +} \ No newline at end of file diff --git a/ui/index.html b/ui/index.html new file mode 100644 index 0000000..038a91b --- /dev/null +++ b/ui/index.html @@ -0,0 +1,270 @@ + + + + + + Vyla Home + + + + + + + +
+ +
Starting Vyla Home...
+
+ +
+
+ + + + + +

Couldn't start Vyla Home

+

+ +
+
+ + + + + + \ No newline at end of file diff --git a/ui/logo.txt b/ui/logo.txt new file mode 100644 index 0000000..de8b127 --- /dev/null +++ b/ui/logo.txt @@ -0,0 +1,6 @@ + ██████╗ ██╗ ██╗██╗ ██╗██╗ █████╗ ███████╗███╗ ██╗████████╗███████╗██████╗ ████████╗ █████╗ ██╗███╗ ██╗███╗ ███╗███████╗███╗ ██╗████████╗ +██╔═══██╗██║ ██║╚██╗ ██╔╝██║ ██╔══██╗ ██╔════╝████╗ ██║╚══██╔══╝██╔════╝██╔══██╗╚══██╔══╝██╔══██╗██║████╗ ██║████╗ ████║██╔════╝████╗ ██║╚══██╔══╝ +██║██╗██║██║ ██║ ╚████╔╝ ██║ ███████║ █████╗ ██╔██╗ ██║ ██║ █████╗ ██████╔╝ ██║ ███████║██║██╔██╗ ██║██╔████╔██║█████╗ ██╔██╗ ██║ ██║ +██║██║██║╚██╗ ██╔╝ ╚██╔╝ ██║ ██╔══██║ ██╔══╝ ██║╚██╗██║ ██║ ██╔══╝ ██╔══██╗ ██║ ██╔══██║██║██║╚██╗██║██║╚██╔╝██║██╔══╝ ██║╚██╗██║ ██║ +╚█║████╔╝ ╚████╔╝ ██║ ███████╗██║ ██║ ███████╗██║ ╚████║ ██║ ███████╗██║ ██║ ██║ ██║ ██║██║██║ ╚████║██║ ╚═╝ ██║███████╗██║ ╚████║ ██║ + ╚╝╚═══╝ ╚═══╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝ ╚═╝ \ No newline at end of file diff --git a/update-client.js b/update-client.js index e61bdd7..e5d9512 100644 --- a/update-client.js +++ b/update-client.js @@ -15,22 +15,29 @@ function isAllowedHost(url) { } class UpdateClient { - constructor(appDataPath) { + constructor(appDataPath, token = null) { this.appDataPath = appDataPath; + this.token = token || process.env.GITLAB_TOKEN || process.env.VYLA_GITLAB_TOKEN || null; } fetchJson(url) { return new Promise((resolve, reject) => { const urlObj = new URL(url); + const headers = { + 'User-Agent': 'VylaHome-Client', + 'Accept': 'application/json' + }; + + if (this.token) { + headers['PRIVATE-TOKEN'] = this.token; + } + const requestOptions = { hostname: urlObj.hostname, port: 443, path: urlObj.pathname + urlObj.search, method: 'GET', - headers: { - 'User-Agent': 'VylaHome-Client', - 'Accept': 'application/json' - } + headers }; const req = https.request(requestOptions, (res) => { @@ -68,14 +75,20 @@ class UpdateClient { } const urlObj = new URL(requestUrl); + const headers = { + 'User-Agent': 'VylaHome-Client', + 'Accept': 'application/octet-stream' + }; + + if (this.token) { + headers['PRIVATE-TOKEN'] = this.token; + } + const requestOptions = { hostname: urlObj.hostname, port: 443, path: urlObj.pathname + urlObj.search, - headers: { - 'User-Agent': 'VylaHome-Client', - 'Accept': 'application/octet-stream' - } + headers }; const req = https.get(requestOptions, (res) => { @@ -142,14 +155,20 @@ class UpdateClient { } const urlObj = new URL(requestUrl); + const headers = { + 'User-Agent': 'VylaHome-Client', + 'Accept': 'application/octet-stream' + }; + + if (this.token) { + headers['PRIVATE-TOKEN'] = this.token; + } + const requestOptions = { hostname: urlObj.hostname, port: 443, path: urlObj.pathname + urlObj.search, - headers: { - 'User-Agent': 'VylaHome-Client', - 'Accept': 'application/octet-stream' - } + headers }; const req = https.get(requestOptions, (res) => { @@ -189,15 +208,15 @@ class UpdateClient { async checkForUpdates() { const releases = await this.fetchJson(RELEASES_API); if (!releases || releases.length === 0) { - throw new Error('No releases found.'); + return null; } const release = releases[0]; - const payloadAsset = (release.assets.links || []).find(a => a.name === 'update-payload.zip'); - const manifestAsset = (release.assets.links || []).find(a => a.name === 'manifest.json'); + const payloadAsset = (release.assets && release.assets.links ? release.assets.links : []).find(a => a.name === 'update-payload.zip'); + const manifestAsset = (release.assets && release.assets.links ? release.assets.links : []).find(a => a.name === 'manifest.json'); if (!payloadAsset) { - throw new Error('No update-payload.zip asset found on latest release.'); + return null; } let sha256 = null;