From 4d70b600a92c10beb2532cd15341d24169fe3547 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 8 May 2026 20:42:11 +0000 Subject: [PATCH 1/4] Add new UI features and add a windows electron app --- .gitignore | 3 +- electron/assets/icon.ico | Bin 0 -> 40189 bytes electron/assets/tray-icon.png | Bin 0 -> 16063 bytes electron/main.js | 150 ++ electron/package-lock.json | 4763 +++++++++++++++++++++++++++++++++ electron/package.json | 50 + electron/preload.js | 1 + 7 files changed, 4966 insertions(+), 1 deletion(-) create mode 100644 electron/assets/icon.ico create mode 100644 electron/assets/tray-icon.png create mode 100644 electron/main.js create mode 100644 electron/package-lock.json create mode 100644 electron/package.json create mode 100644 electron/preload.js diff --git a/.gitignore b/.gitignore index 7f6f59b..3ecbd18 100644 --- a/.gitignore +++ b/.gitignore @@ -22,4 +22,5 @@ hivemq-data/ oscar/ files/ -dist/release/postgis/pgdata \ No newline at end of file +dist/release/postgis/pgdataelectron/node_modules/ +electron/dist/ diff --git a/electron/assets/icon.ico b/electron/assets/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..37b183487fdf54f12e19a6f7960fb02eaa6fa5e2 GIT binary patch literal 40189 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 RA8S?tCHXgUr7|W#{{vTrd$a%m literal 0 HcmV?d00001 diff --git a/electron/main.js b/electron/main.js new file mode 100644 index 0000000..15e06c1 --- /dev/null +++ b/electron/main.js @@ -0,0 +1,150 @@ +const { app, BrowserWindow, dialog, Menu, Tray } = require('electron'); +const path = require('path'); +const express = require('express'); + +// Disable all background throttling before app is ready +app.commandLine.appendSwitch('disable-background-timer-throttling'); +app.commandLine.appendSwitch('disable-renderer-backgrounding'); +app.commandLine.appendSwitch('disable-backgrounding-occluded-windows'); + +let mainWindow = null; +let tray = null; +let servePort = null; + +function getWebPath() { + return app.isPackaged + ? path.join(process.resourcesPath, 'web') + : path.join(__dirname, '../web/oscar-viewer/web'); +} + +function startServer(callback) { + const server = express(); + const webPath = getWebPath(); + + server.use(express.static(webPath)); + server.get('*', (_req, res) => + res.sendFile(path.join(webPath, '404.html'), err => { + if (err) res.sendFile(path.join(webPath, 'index.html')); + }) + ); + + // Fixed port keeps localStorage stable across restarts (origin must not change) + const listener = server.listen(38282, '127.0.0.1', () => { + servePort = listener.address().port; + callback(); + }); +} + +function createWindow() { + mainWindow = new BrowserWindow({ + width: 1920, + height: 1080, + minWidth: 1280, + minHeight: 720, + title: 'OSCAR', + icon: path.join(__dirname, 'assets', 'icon.ico'), + show: false, + autoHideMenuBar: true, + webPreferences: { + preload: path.join(__dirname, 'preload.js'), + nodeIntegration: false, + contextIsolation: true, + webSecurity: false, // allows cross-origin API calls to the OSH-Node server + }, + }); + + Menu.setApplicationMenu(null); + mainWindow.loadURL(`http://localhost:${servePort}/`); + mainWindow.once('ready-to-show', () => { + mainWindow.show(); + mainWindow.maximize(); + }); + + // Ctrl+R / F5 — reload after first-time node configuration + mainWindow.webContents.on('before-input-event', (_event, input) => { + if (input.type === 'keyDown' && + (input.key === 'F5' || (input.control && input.key.toLowerCase() === 'r'))) { + mainWindow.webContents.reload(); + } + }); + + mainWindow.on('close', event => { + event.preventDefault(); + const choice = dialog.showMessageBoxSync(mainWindow, { + type: 'warning', + buttons: ['Cancel', 'Exit OSCAR'], + defaultId: 0, + cancelId: 0, + title: 'Exit OSCAR?', + message: 'Active radiation monitoring will stop.', + detail: 'Are you sure you want to exit OSCAR?', + }); + if (choice === 1) { + mainWindow = null; + app.exit(0); + } + }); +} + +function createTray() { + tray = new Tray(path.join(__dirname, 'assets', 'tray-icon.png')); + tray.setToolTip('OSCAR — Radiation Detection'); + tray.setContextMenu(Menu.buildFromTemplate([ + { + label: 'Show OSCAR', + click: () => { mainWindow?.show(); mainWindow?.focus(); }, + }, + { + label: 'Reload', + click: () => mainWindow?.webContents.reload(), + }, + { type: 'separator' }, + { + label: 'Exit OSCAR', + click: () => { + const choice = dialog.showMessageBoxSync({ + type: 'warning', + buttons: ['Cancel', 'Exit OSCAR'], + defaultId: 0, + cancelId: 0, + title: 'Exit OSCAR?', + message: 'Active radiation monitoring will stop.', + detail: 'Are you sure you want to exit OSCAR?', + }); + if (choice === 1) app.exit(0); + }, + }, + ])); + tray.on('double-click', () => { mainWindow?.show(); mainWindow?.focus(); }); +} + +app.whenReady().then(() => { + // Register autostart on Windows login (packaged builds only) + if (app.isPackaged && process.platform === 'win32') { + app.setLoginItemSettings({ openAtLogin: true, path: app.getPath('exe') }); + } + + // Intercept OSH-Node 401 challenges and supply saved node credentials automatically + app.on('login', (event, _webContents, _details, authInfo, callback) => { + event.preventDefault(); + mainWindow?.webContents + .executeJavaScript(`localStorage.getItem('osh_nodes')`) + .then(raw => { + const nodes = JSON.parse(raw || '[]'); + const node = nodes.find(n => + n.address === authInfo.host || + String(n.port) === String(authInfo.port) + ); + callback(node?.auth?.username ?? '', node?.auth?.password ?? ''); + }) + .catch(() => callback('', '')); + }); + + startServer(() => { + createWindow(); + createTray(); + }); +}); + +// Keep the process alive via tray — do not quit when the window is closed +app.on('window-all-closed', () => {}); diff --git a/electron/package-lock.json b/electron/package-lock.json new file mode 100644 index 0000000..dd5d528 --- /dev/null +++ b/electron/package-lock.json @@ -0,0 +1,4763 @@ +{ + "name": "oscar-desktop", + "version": "3.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "oscar-desktop", + "version": "3.0.0", + "dependencies": { + "express": "^4.18.2" + }, + "devDependencies": { + "electron": "^31.0.0", + "electron-builder": "^24.13.3" + } + }, + "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/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/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "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": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } + }, + "node_modules/@electron/notarize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.2.1.tgz", + "integrity": "sha512-aL+bFMIkpR0cmmj5Zgy0LMKEpgy43/hw5zadEArgmAMWWlKc5buwFvFT9G/o/YJkvXAJm5q3iuTuLaiaXW39sg==", + "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/notarize/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/@electron/notarize/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/@electron/osx-sign": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.0.5.tgz", + "integrity": "sha512-k9ZzUQtamSoweGQDV2jILiRIHUu7lYlJ3c6IEmjv1hC17rclE+eb9U+f6UFlOOETo0JzY1HNlXy4YOlCvl+Lww==", + "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/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/@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/osx-sign/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/@electron/osx-sign/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/@electron/universal": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.5.1.tgz", + "integrity": "sha512-kbgXxyEauPJiQQUNG2VgUeyfQNFk6hBF11ISN2PNI6agUgPl55pv4eQmaqHzTAzchBvqZ2tQuRVaPStGf0mxGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron/asar": "^3.2.1", + "@malept/cross-spawn-promise": "^1.1.0", + "debug": "^4.3.1", + "dir-compare": "^3.0.0", + "fs-extra": "^9.0.1", + "minimatch": "^3.0.4", + "plist": "^3.0.4" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@electron/universal/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@electron/universal/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/universal/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/@electron/universal/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/universal/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/@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.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "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/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "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": ">= 10" + } + }, + "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==", + "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/@malept/flatpak-bundler/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/@malept/flatpak-bundler/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/@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" + }, + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "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": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.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/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/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.13", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.13.tgz", + "integrity": "sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "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/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "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/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "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", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/app-builder-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-4.0.0.tgz", + "integrity": "sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==", + "dev": true, + "license": "MIT" + }, + "node_modules/app-builder-lib": { + "version": "24.13.3", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-24.13.3.tgz", + "integrity": "sha512-FAzX6IBit2POXYGnTCT8YHFO/lr5AapAII6zzhQO3Rw4cEDOgK+t1xhLc5tNcKlicTHlo9zxIwnYCX9X2DLkig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@develar/schema-utils": "~2.6.5", + "@electron/notarize": "2.2.1", + "@electron/osx-sign": "1.0.5", + "@electron/universal": "1.5.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": "24.13.1", + "builder-util-runtime": "9.2.4", + "chromium-pickle-js": "^0.2.0", + "debug": "^4.3.4", + "ejs": "^3.1.8", + "electron-publish": "24.13.1", + "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", + "lazy-val": "^1.0.5", + "minimatch": "^5.1.1", + "read-config-file": "6.3.2", + "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": "24.13.3", + "electron-builder-squirrel-windows": "24.13.3" + } + }, + "node_modules/app-builder-lib/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/app-builder-lib/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/app-builder-lib/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/app-builder-lib/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/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/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-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "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/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/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", + "peer": true, + "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==", + "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.5", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", + "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "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/body-parser/node_modules/qs": { + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/brace-expansion": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "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", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz", + "integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/builder-util": { + "version": "24.13.1", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-24.13.1.tgz", + "integrity": "sha512-NhbCSIntruNDTOVI9fdXz0dihaqX2YuE1D6zZMrwiErzH4ELZHE6mdiB40wEgZNprDia+FghRFgKoAqMZRRjSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/debug": "^4.1.6", + "7zip-bin": "~5.2.0", + "app-builder-bin": "4.0.0", + "bluebird-lst": "^1.0.9", + "builder-util-runtime": "9.2.4", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "debug": "^4.3.4", + "fs-extra": "^10.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "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.4", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.2.4.tgz", + "integrity": "sha512-upp+biKpN/XZMLim7aguUyW8s0FUpDvOtK6sbanMFDAMBzpHDqdhgVYm6zc9HJ6nWo7u2Lxk60i2M6Jd3aiNrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "sax": "^1.2.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/builder-util/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/builder-util/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/builder-util/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/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "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/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-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", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "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==", + "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_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/config-file-ts": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/config-file-ts/-/config-file-ts-0.2.6.tgz", + "integrity": "sha512-6boGVaglwblBgJqGyxm4+xCmEGcWgnWHSWHY5jad58awQhB6gftq0G8HbzU39YqCIYHMLAiL1yjwiZ36m/CL8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "^10.3.10", + "typescript": "^5.3.3" + } + }, + "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/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "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/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "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" + } + }, + "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", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "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/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/dir-compare": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-3.3.0.tgz", + "integrity": "sha512-J7/et3WlGUCxjdnD3HAAzQ6nsnc0WL6DD7WcwJb7c39iH1+AWfg+9OqzJNaI6PkBwBvm1mhZNL9iY/nRiZXlPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-equal": "^1.0.0", + "minimatch": "^3.0.4" + } + }, + "node_modules/dir-compare/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "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": "24.13.3", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-24.13.3.tgz", + "integrity": "sha512-rcJUkMfnJpfCboZoOOPf4L29TRtEieHNOeAbYPWPxlaBw/Z1RKrRA86dOI9rwaI4tQSc/RD82zTNHprfUHXsoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "app-builder-lib": "24.13.3", + "builder-util": "24.13.1", + "builder-util-runtime": "9.2.4", + "fs-extra": "^10.1.0", + "iconv-lite": "^0.6.2", + "js-yaml": "^4.1.0" + }, + "optionalDependencies": { + "dmg-license": "^1.0.11" + } + }, + "node_modules/dmg-builder/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/dmg-builder/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/dmg-builder/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/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/dotenv": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", + "integrity": "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "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": "31.7.7", + "resolved": "https://registry.npmjs.org/electron/-/electron-31.7.7.tgz", + "integrity": "sha512-HZtZg8EHsDGnswFt0QeV8If8B+et63uD6RJ7I4/xhcXqmTIbI08GoubX/wm+HdY0DwcuPe1/xsgqpmYvjdjRoA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@electron/get": "^2.0.0", + "@types/node": "^20.9.0", + "extract-zip": "^2.0.1" + }, + "bin": { + "electron": "cli.js" + }, + "engines": { + "node": ">= 12.20.55" + } + }, + "node_modules/electron-builder": { + "version": "24.13.3", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-24.13.3.tgz", + "integrity": "sha512-yZSgVHft5dNVlo31qmJAe4BVKQfFdwpRw7sFp1iQglDRCDD6r22zfRJuZlhtB5gp9FHUxCMEoWGq10SkCnMAIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "app-builder-lib": "24.13.3", + "builder-util": "24.13.1", + "builder-util-runtime": "9.2.4", + "chalk": "^4.1.2", + "dmg-builder": "24.13.3", + "fs-extra": "^10.1.0", + "is-ci": "^3.0.0", + "lazy-val": "^1.0.5", + "read-config-file": "6.3.2", + "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": "24.13.3", + "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-24.13.3.tgz", + "integrity": "sha512-oHkV0iogWfyK+ah9ZIvMDpei1m9ZRpdXcvde1wTpra2U8AFDNNpqJdnin5z+PM1GbQ5BoaKCWas2HSjtR0HwMg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "app-builder-lib": "24.13.3", + "archiver": "^5.3.1", + "builder-util": "24.13.1", + "fs-extra": "^10.1.0" + } + }, + "node_modules/electron-builder-squirrel-windows/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", + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-builder-squirrel-windows/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", + "peer": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-builder-squirrel-windows/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", + "peer": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-builder/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/electron-builder/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/electron-builder/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/electron-publish": { + "version": "24.13.1", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-24.13.1.tgz", + "integrity": "sha512-2ZgdEqJ8e9D17Hwp5LEq5mLQPjqU3lv/IALvgp+4W8VeNhryfGhYEQC/PgDPMrnWUp+l60Ou5SJLsu+k4mhQ8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/fs-extra": "^9.0.11", + "builder-util": "24.13.1", + "builder-util-runtime": "9.2.4", + "chalk": "^4.1.2", + "fs-extra": "^10.1.0", + "lazy-val": "^1.0.5", + "mime": "^2.5.2" + } + }, + "node_modules/electron-publish/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/electron-publish/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/electron-publish/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/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", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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": "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/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", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "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/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "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", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "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/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "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", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "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/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, + "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/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "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/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/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "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": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "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", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "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/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "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/global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/global-agent/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "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", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "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", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "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/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": "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/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, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "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/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", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "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/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/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "license": "ISC", + "optional": true + }, + "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": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "license": "MIT", + "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/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/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/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "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, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "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": "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/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/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_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/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/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "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/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/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "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/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/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", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "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/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true, + "license": "MIT" + }, + "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/plist": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", + "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.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-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", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "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.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "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", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "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-config-file": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-6.3.2.tgz", + "integrity": "sha512-M80lpCjnE6Wt6zb98DoW8WHR09nzMSpu8XHtPkiTHrJ5Az9CybfeQhTJ8D7saeBHpGhLPIVyA8lcL6ZmdKwY6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "config-file-ts": "^0.2.4", + "dotenv": "^9.0.2", + "dotenv-expand": "^5.1.0", + "js-yaml": "^4.1.0", + "json5": "^2.2.0", + "lazy-val": "^1.0.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "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", + "peer": true, + "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/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/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/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/roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "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.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "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==", + "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/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "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.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/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/simple-update-notifier/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "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", + "optional": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true + }, + "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", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "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", + "peer": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "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/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/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", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/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/temp-file/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/temp-file/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/temp-file/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/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "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", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "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/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "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/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "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-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", + "peer": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "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/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/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.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "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/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "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/electron/package.json b/electron/package.json new file mode 100644 index 0000000..2d5c6b9 --- /dev/null +++ b/electron/package.json @@ -0,0 +1,50 @@ +{ + "name": "oscar-desktop", + "version": "3.0.0", + "description": "OSCAR Radiation Detection Desktop Application", + "main": "main.js", + "scripts": { + "start": "electron .", + "dist": "electron-builder --win --x64" + }, + "dependencies": { + "express": "^4.18.2" + }, + "devDependencies": { + "electron": "^31.0.0", + "electron-builder": "^24.13.3" + }, + "build": { + "appId": "com.botts.oscar", + "productName": "OSCAR", + "copyright": "Copyright © 2024 Botts Innovative Research, Inc.", + "directories": { + "output": "dist" + }, + "files": [ + "main.js", + "preload.js", + "assets/**", + "node_modules/**" + ], + "extraResources": [ + { + "from": "../web/oscar-viewer/web", + "to": "web", + "filter": ["**/*"] + } + ], + "win": { + "target": [{ "target": "nsis", "arch": ["x64"] }], + "icon": "assets/icon.ico" + }, + "nsis": { + "oneClick": false, + "allowToChangeInstallationDirectory": true, + "createDesktopShortcut": true, + "createStartMenuShortcut": true, + "shortcutName": "OSCAR", + "runAfterFinish": true + } + } +} diff --git a/electron/preload.js b/electron/preload.js new file mode 100644 index 0000000..85bc88a --- /dev/null +++ b/electron/preload.js @@ -0,0 +1 @@ +// Intentionally empty — contextIsolation boundary From b1dd31f7b3be551801c0d41242ab6b1eb99125d4 Mon Sep 17 00:00:00 2001 From: MJD948 Date: Fri, 22 May 2026 22:54:40 +0000 Subject: [PATCH 2/4] Add per-lane statistics on National View Wires the new osh-oakridge-modules feature/per-lane-statistics + oscar-viewer per-lane UI into this repo, plus a small build/packaging fix and .gitignore hygiene. - electron/package.json: dist now runs `npm run build:web` before electron-builder, so packaging from electron/ alone can't ship a stale web bundle. - .gitignore: add .claude/ and electron/node_modules/; fix a pre-existing typo where two ignore patterns were concatenated on one line. - Submodule bumps: - include/osh-oakridge-modules -> feature/per-lane-statistics (per-lane breakdown + adjudication metrics in StatisticsOutput) - web/oscar-viewer -> updated-dashboard-ui (expandable per-lane rows on /national-view) Co-Authored-By: Claude Opus 4.7 --- .gitignore | 4 +++- electron/package.json | 3 ++- include/osh-oakridge-modules | 2 +- web/oscar-viewer | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 3ecbd18..435c5ce 100644 --- a/.gitignore +++ b/.gitignore @@ -22,5 +22,7 @@ hivemq-data/ oscar/ files/ -dist/release/postgis/pgdataelectron/node_modules/ +dist/release/postgis/pgdata electron/dist/ +.claude/ +electron/node_modules/ diff --git a/electron/package.json b/electron/package.json index 2d5c6b9..f5e4cdd 100644 --- a/electron/package.json +++ b/electron/package.json @@ -5,7 +5,8 @@ "main": "main.js", "scripts": { "start": "electron .", - "dist": "electron-builder --win --x64" + "build:web": "npm --prefix ../web/oscar-viewer run build", + "dist": "npm run build:web && electron-builder --win --x64" }, "dependencies": { "express": "^4.18.2" diff --git a/include/osh-oakridge-modules b/include/osh-oakridge-modules index aaefbb7..bcfde77 160000 --- a/include/osh-oakridge-modules +++ b/include/osh-oakridge-modules @@ -1 +1 @@ -Subproject commit aaefbb79cd651265f04ee2337428c8168c24d256 +Subproject commit bcfde772241fd86a438485479fc4f2eab61cb2e9 diff --git a/web/oscar-viewer b/web/oscar-viewer index 12e912d..b753636 160000 --- a/web/oscar-viewer +++ b/web/oscar-viewer @@ -1 +1 @@ -Subproject commit 12e912d54cedfda45e18d93ff3a52f67d7b2d5b5 +Subproject commit b75363621d39f5ba57601ccb1407bb3b334987c9 From 679c6756dd6213f2574cc21d3f46f5cef410cc98 Mon Sep 17 00:00:00 2001 From: MJD948 Date: Sat, 23 May 2026 09:19:15 +0000 Subject: [PATCH 3/4] Bump oscar-viewer: dashboard alarm filter and adjudication columns Updates the oscar-viewer submodule to pull in the new alarm-table filter popover (alarm type incl. non-alarms, adjudication group, secondary inspection) and matching Adjudication Status / Secondary Inspection table columns. Co-Authored-By: Claude Opus 4.7 --- web/oscar-viewer | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/oscar-viewer b/web/oscar-viewer index b753636..7563348 160000 --- a/web/oscar-viewer +++ b/web/oscar-viewer @@ -1 +1 @@ -Subproject commit b75363621d39f5ba57601ccb1407bb3b334987c9 +Subproject commit 756334823beeba8cf977a042e9020dfe7ff398bf From af0503a1be2e9ac3f77f298c61027fa07f8a1d7f Mon Sep 17 00:00:00 2001 From: MJD948 Date: Sat, 23 May 2026 12:42:14 +0000 Subject: [PATCH 4/4] Bump oscar-viewer: translate hardcoded UI strings, add Turkmen Co-Authored-By: Claude Opus 4.7 --- web/oscar-viewer | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/oscar-viewer b/web/oscar-viewer index 7563348..07e366e 160000 --- a/web/oscar-viewer +++ b/web/oscar-viewer @@ -1 +1 @@ -Subproject commit 756334823beeba8cf977a042e9020dfe7ff398bf +Subproject commit 07e366eae030134300a866f4cf4149bc3ace6aec