From 2a7a7bffdbb2e67337294aff6363fbabdf49366c Mon Sep 17 00:00:00 2001 From: Quartinal Date: Sat, 14 Sep 2024 11:55:16 -0700 Subject: [PATCH] a lot of small updates --- .gitmodules | 0 package-lock.json | 1539 ------------------------------------------ package.json | 27 - src/classes/proxy.js | 12 - uv/misc/config.js | 2 +- uv/uv.config.js | 2 +- uv/uv.handler.js | 2 +- uv/uv.sw.js | 2 +- 8 files changed, 4 insertions(+), 1582 deletions(-) delete mode 100644 .gitmodules delete mode 100644 package-lock.json delete mode 100644 package.json delete mode 100644 src/classes/proxy.js diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index e69de29..0000000 diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index baf15ff..0000000 --- a/package-lock.json +++ /dev/null @@ -1,1539 +0,0 @@ -{ - "name": "@quartinal/civil", - "version": "0.4.59", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "@quartinal/civil", - "version": "0.4.59", - "license": "WTFPL", - "dependencies": { - "@titaniumnetwork-dev/ultraviolet": "3.0.2", - "mime": "4.0.1", - "testcafe-hammerhead": "31.7.1", - "uuid": "9.0.1" - } - }, - "node_modules/@adobe/css-tools": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz", - "integrity": "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==" - }, - "node_modules/@electron/asar": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.9.tgz", - "integrity": "sha512-Vu2P3X2gcZ3MY9W7yH72X9+AMXwUQZEJBrsPIbX0JsdllLtoh62/Q8Wg370/DawIEVKOyfD6KtTLo645ezqxUA==", - "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.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@electron/asar/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@electron/asar/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", - "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", - "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", - "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", - "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", - "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", - "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", - "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", - "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", - "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", - "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", - "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", - "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", - "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", - "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", - "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", - "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", - "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", - "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", - "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", - "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", - "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", - "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", - "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "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==", - "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/@mercuryworkshop/bare-mux": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@mercuryworkshop/bare-mux/-/bare-mux-1.0.7.tgz", - "integrity": "sha512-VUJvfLxlzpyCuKoGfaI+sUpHEK4tvmvpYvkalU2z604+O9UahfZoc53arO9pm9F3Fnv7ZNloSWMnvSlPAznkoA==", - "dependencies": { - "@types/uuid": "^9.0.8", - "uuid": "^9.0.1" - } - }, - "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==", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@titaniumnetwork-dev/ultraviolet": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@titaniumnetwork-dev/ultraviolet/-/ultraviolet-3.0.2.tgz", - "integrity": "sha512-LZ5hw3c+O4MNQWObWbukwWsmXFGHK/oH21EuHqhJB4qsCqSN4GqwLPzcfY1oCrNdSSXTmCfz6WOAi5UEAQ1DMA==", - "dependencies": { - "@mercuryworkshop/bare-mux": "^1.0.7", - "crypto-js": "^4.2.0", - "css-tree": "^2.0.4", - "esbuild": "^0.19.11", - "esotope-hammerhead": "^0.6.1", - "events": "^3.3.0", - "idb": "^7.1.1", - "meriyah": "^4.3.3", - "mime-db": "^1.51.0", - "parse5": "^7.1.2", - "rimraf": "^5.0.5", - "set-cookie-parser": "^2.4.8" - } - }, - "node_modules/@types/estree": { - "version": "0.0.46", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", - "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==" - }, - "node_modules/@types/uuid": { - "version": "9.0.8", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", - "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==" - }, - "node_modules/acorn-hammerhead": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/acorn-hammerhead/-/acorn-hammerhead-0.6.2.tgz", - "integrity": "sha512-JZklfs1VVyjA1hf1y5qSzKSmK3K1UUUI7fQTuM/Zhv3rz4kFhdx4QwVnmU6tBEC8g/Ov6B+opfNFPeSZrlQfqA==", - "dependencies": { - "@types/estree": "0.0.46" - } - }, - "node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "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==" - }, - "node_modules/bowser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.6.0.tgz", - "integrity": "sha512-Fk23J0+vRnI2eKDEDoUZXWtbMjijr098lKhuj4DKAfMKMCRVfJOuxXlbpxy0sTgbZ/Nr2N8MexmOir+GGI/ZMA==" - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==", - "engines": { - "node": "*" - } - }, - "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==", - "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==" - }, - "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==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", - "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" - }, - "node_modules/crypto-md5": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-md5/-/crypto-md5-1.0.0.tgz", - "integrity": "sha512-65Mtei8+EkSIK+5Ie4gpWXoJ/5bgpqPXFknHHXAyhDqKsEAAzUslGd8mOeawbfcuQ8fADNKcF4xQA3fqlZJ8Ig==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.5.2" - } - }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/des.js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "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==" - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/esbuild": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", - "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.12", - "@esbuild/android-arm": "0.19.12", - "@esbuild/android-arm64": "0.19.12", - "@esbuild/android-x64": "0.19.12", - "@esbuild/darwin-arm64": "0.19.12", - "@esbuild/darwin-x64": "0.19.12", - "@esbuild/freebsd-arm64": "0.19.12", - "@esbuild/freebsd-x64": "0.19.12", - "@esbuild/linux-arm": "0.19.12", - "@esbuild/linux-arm64": "0.19.12", - "@esbuild/linux-ia32": "0.19.12", - "@esbuild/linux-loong64": "0.19.12", - "@esbuild/linux-mips64el": "0.19.12", - "@esbuild/linux-ppc64": "0.19.12", - "@esbuild/linux-riscv64": "0.19.12", - "@esbuild/linux-s390x": "0.19.12", - "@esbuild/linux-x64": "0.19.12", - "@esbuild/netbsd-x64": "0.19.12", - "@esbuild/openbsd-x64": "0.19.12", - "@esbuild/sunos-x64": "0.19.12", - "@esbuild/win32-arm64": "0.19.12", - "@esbuild/win32-ia32": "0.19.12", - "@esbuild/win32-x64": "0.19.12" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/esotope-hammerhead": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/esotope-hammerhead/-/esotope-hammerhead-0.6.8.tgz", - "integrity": "sha512-2Zhg0c6NfrNA4QT5s4+QG5WJQtq3Se7GonNwtNwfr7sVIo/7L8rirPfh9yyloEmDA7R0yPgD10teFxhf2vWyIw==", - "dependencies": { - "@types/estree": "0.0.46" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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==" - }, - "node_modules/glob": { - "version": "10.3.12", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", - "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.10.2" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" - }, - "node_modules/httpntlm": { - "version": "1.8.13", - "resolved": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.8.13.tgz", - "integrity": "sha512-2F2FDPiWT4rewPzNMg3uPhNkP3NExENlUGADRUDPQvuftuUTGW98nLZtGemCIW3G40VhWZYgkIDcQFAwZ3mf2Q==", - "funding": [ - { - "type": "paypal", - "url": "https://www.paypal.com/donate/?hosted_button_id=2CKNJLZJBW8ZC" - }, - { - "type": "buymeacoffee", - "url": "https://www.buymeacoffee.com/samdecrock" - } - ], - "dependencies": { - "des.js": "^1.0.1", - "httpreq": ">=0.4.22", - "js-md4": "^0.3.2", - "underscore": "~1.12.1" - }, - "engines": { - "node": ">=10.4.0" - } - }, - "node_modules/httpreq": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/httpreq/-/httpreq-1.1.1.tgz", - "integrity": "sha512-uhSZLPPD2VXXOSN8Cni3kIsoFHaU2pT/nySEU/fHr/ePbqHYr0jeiQRmUKLEirC09SFPsdMoA7LU7UXMd/w0Kw==", - "engines": { - "node": ">= 6.15.1" - } - }, - "node_modules/iconv-lite": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.1.tgz", - "integrity": "sha512-ONHr16SQvKZNSqjQT9gy5z24Jw+uqfO02/ngBSBoqChZ+W8qXX7GPRa1RoUnzGADw8K63R1BXUMzarCVQBpY8Q==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" - }, - "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==", - "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==" - }, - "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==", - "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==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/js-md4": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/js-md4/-/js-md4-0.3.2.tgz", - "integrity": "sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA==" - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/match-url-wildcard": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/match-url-wildcard/-/match-url-wildcard-0.0.4.tgz", - "integrity": "sha512-R1XhQaamUZPWLOPtp4ig5j+3jctN+skhgRmEQTUamMzmNtRG69QEirQs0NZKLtHMR7tzWpmtnS4Eqv65DcgXUA==", - "dependencies": { - "escape-string-regexp": "^1.0.5" - } - }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" - }, - "node_modules/merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha512-e6RM36aegd4f+r8BZCcYXlO2P3H6xbUM6ktL2Xmf45GAOit9bI4z6/3VU7JwllVO1L7u0UDSg/EhzQ5lmMLolA==", - "dependencies": { - "readable-stream": "^2.0.1" - } - }, - "node_modules/meriyah": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/meriyah/-/meriyah-4.4.2.tgz", - "integrity": "sha512-fENZIbs4tscI3IGRGtPrCoW4H4oGzVQrQCVCGRv+92kFXKkvxr52ZNR684ICvDC/UBWg9ioGc2X6pMnWOtRYwA==", - "engines": { - "node": ">=10.4.0" - } - }, - "node_modules/mime": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.1.tgz", - "integrity": "sha512-5lZ5tyrIfliMXzFtkYyekWbtRXObT9OWa8IwQ5uxTBDHucNNwniRqo0yInflj+iYi5CBa6qxadGzGarDfuEOxA==", - "funding": [ - "https://github.com/sponsors/broofa" - ], - "bin": { - "mime": "bin/cli.js" - }, - "engines": { - "node": ">=16" - } - }, - "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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/mustache": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz", - "integrity": "sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==", - "bin": { - "mustache": "bin/mustache" - }, - "engines": { - "npm": ">=1.4.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "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==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/os-family": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/os-family/-/os-family-1.1.0.tgz", - "integrity": "sha512-E3Orl5pvDJXnVmpaAA2TeNNpNhTMl4o5HghuWhOivBjEiTnJSrMYSa5uZMek1lBEvu8kKEsa2YgVcGFVDqX/9w==" - }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "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==", - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-scurry": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", - "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "engines": { - "node": ">=0.10.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==" - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "node_modules/read-file-relative": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/read-file-relative/-/read-file-relative-1.2.0.tgz", - "integrity": "sha512-lwZUlN2tQyPa62/XmVtX1MeNLVutlRWwqvclWU8YpOCgjKdhg2zyNkeFjy7Rnjo3txhKCy5FGgAi+vx59gvkYg==", - "dependencies": { - "callsite": "^1.0.0" - } - }, - "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==", - "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/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "node_modules/rimraf": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", - "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", - "dependencies": { - "glob": "^10.3.7" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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==" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/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==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/set-cookie-parser": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", - "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==" - }, - "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==", - "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==", - "engines": { - "node": ">=8" - } - }, - "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==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "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==", - "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/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==", - "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/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/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==" - }, - "node_modules/string-width-cjs/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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/testcafe-hammerhead": { - "version": "31.7.1", - "resolved": "https://registry.npmjs.org/testcafe-hammerhead/-/testcafe-hammerhead-31.7.1.tgz", - "integrity": "sha512-H162ruxCc0wIAkoVky7aQyEntiA6Np8OcWzOx0/2cSPY6BARFdFNd3spu2TB2j3qcpFIZ233IpEx+2sY+VFbjg==", - "dependencies": { - "@adobe/css-tools": "^4.3.0-rc.1", - "@electron/asar": "^3.2.3", - "acorn-hammerhead": "0.6.2", - "bowser": "1.6.0", - "crypto-md5": "^1.0.0", - "debug": "4.3.1", - "esotope-hammerhead": "0.6.8", - "http-cache-semantics": "^4.1.0", - "httpntlm": "^1.8.10", - "iconv-lite": "0.5.1", - "lodash": "^4.17.21", - "lru-cache": "2.6.3", - "match-url-wildcard": "0.0.4", - "merge-stream": "^1.0.1", - "mime": "~1.4.1", - "mustache": "^2.1.1", - "nanoid": "^3.1.12", - "os-family": "^1.0.0", - "parse5": "^7.1.2", - "pinkie": "2.0.4", - "read-file-relative": "^1.2.0", - "semver": "7.5.3", - "tough-cookie": "4.1.3", - "tunnel-agent": "0.6.0", - "ws": "^7.4.6" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/testcafe-hammerhead/node_modules/lru-cache": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.3.tgz", - "integrity": "sha512-qkisDmHMe8gxKujmC1BdaqgkoFlioLDCUwaFBA3lX8Ilhr3YzsasbGYaiADMjxQnj+aiZUKgGKe/BN3skMwXWw==" - }, - "node_modules/testcafe-hammerhead/node_modules/mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", - "bin": { - "mime": "cli.js" - } - }, - "node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" - }, - "node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "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==" - }, - "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "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==", - "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/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==", - "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/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/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==" - }, - "node_modules/wrap-ansi-cjs/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==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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==" - }, - "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 00db9b1..0000000 --- a/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "civil-matrix", - "version": "0.4.59", - "description": "Easily-reproducible anonymous web proxy fueled by both pure JavaScript and Ultraviolet.", - "main": "src/index.js", - "repository": { - "type": "git", - "url": "git+https://github.com/Quartinal/matrix", - "directory": "." - }, - "author": { - "name": "Jasper Quartarolo - https://github.com/Quartinal", - "email": "prehistorical.dinosaurs@outlook.com", - "url": "https://www.quartinal.com" - }, - "license": "WTFPL", - "bugs": { - "url": "https://github.com/Quartinal/matrix/issues" - }, - "homepage": "https://github.com/Quartinal/matrix?tab=readme-ov-file", - "dependencies": { - "testcafe-hammerhead": "31.7.1", - "@titaniumnetwork-dev/ultraviolet": "3.0.2", - "mime": "4.0.1", - "uuid": "9.0.1" - } -} \ No newline at end of file diff --git a/src/classes/proxy.js b/src/classes/proxy.js deleted file mode 100644 index eb9516e..0000000 --- a/src/classes/proxy.js +++ /dev/null @@ -1,12 +0,0 @@ -const http = require('http'); -const https = require('https'); - -const stream = require('stream'); - -const fs = require('fs'); -const path = require('path'); - -const name = require('testcafe-hammerhead/lib/utils/url'); -const proxy = require('testcafe-hammerhead'); - -// WIP! \ No newline at end of file diff --git a/uv/misc/config.js b/uv/misc/config.js index ee282a8..faa6d07 100644 --- a/uv/misc/config.js +++ b/uv/misc/config.js @@ -5,7 +5,7 @@ self.__dynamic$config = { logLevel: 0, bare: { version: 2, - path: 'https://bear.lema.cl', + path: 'https://bare.commander.whimsy.me', }, tab: { title: null, diff --git a/uv/uv.config.js b/uv/uv.config.js index 46141cd..1250d55 100644 --- a/uv/uv.config.js +++ b/uv/uv.config.js @@ -1,6 +1,6 @@ self.__uv$config = { prefix: '/i/', - bare: 'https://bear.lema.cl', + bare: 'https://bare.commander.whimsy.me', encodeUrl: Ultraviolet.codec.xor.encode, decodeUrl: Ultraviolet.codec.xor.decode, handler: '/uv/uv.handler.js', diff --git a/uv/uv.handler.js b/uv/uv.handler.js index 4255ed1..e3061da 100644 --- a/uv/uv.handler.js +++ b/uv/uv.handler.js @@ -1 +1 @@ -async function __uvHook(e,t={},a="https://bear.lema.cl"){if("__uv"in e&&e.__uv instanceof Ultraviolet)return!1;e.document&&e.window&&e.document.querySelectorAll("script[__uv-script]").forEach((e=>e.remove()));const r=!e.window,o="__uv",n="__uv$",l=new Ultraviolet({...t,window:e});"function"==typeof t.construct&&t.construct(l,r?"worker":"window");const{client:i}=l,{HTMLMediaElement:s,HTMLScriptElement:d,HTMLAudioElement:c,HTMLVideoElement:u,HTMLInputElement:m,HTMLEmbedElement:h,HTMLTrackElement:v,HTMLAnchorElement:g,HTMLIFrameElement:p,HTMLAreaElement:b,HTMLLinkElement:f,HTMLBaseElement:_,HTMLFormElement:y,HTMLImageElement:S,HTMLSourceElement:w}=e;i.nativeMethods.defineProperty(e,"__uv",{value:l,enumerable:!1}),l.meta.origin=location.origin,l.location=i.location.emulate((e=>"about:srcdoc"===e?new URL(e):(e.startsWith("blob:")&&(e=e.slice(5)),new URL(l.sourceUrl(e)))),(e=>l.rewriteUrl(e))),l.cookieStr=e.__uv$cookies||"",l.meta.url=l.location,l.domain=l.meta.url.host,l.blobUrls=new e.Map,l.referrer="",l.cookies=[],l.localStorageObj={},l.sessionStorageObj={};try{l.bare=new URL(a,e.location.href)}catch(t){l.bare=e.parent.__uv.bare}if("about:srcdoc"===l.location.href&&(l.meta=e.parent.__uv.meta),e.EventTarget&&(l.addEventListener=e.EventTarget.prototype.addEventListener,l.removeListener=e.EventTarget.prototype.removeListener,l.dispatchEvent=e.EventTarget.prototype.dispatchEvent),i.nativeMethods.defineProperty(i.storage.storeProto,"__uv$storageObj",{get(){return this===i.storage.sessionStorage?l.sessionStorageObj:this===i.storage.localStorage?l.localStorageObj:void 0},enumerable:!1}),e.localStorage){for(const t in e.localStorage)t.startsWith(n+l.location.origin+"@")&&(l.localStorageObj[t.slice((n+l.location.origin+"@").length)]=e.localStorage.getItem(t));l.lsWrap=i.storage.emulate(i.storage.localStorage,l.localStorageObj)}if(e.sessionStorage){for(const t in e.sessionStorage)t.startsWith(n+l.location.origin+"@")&&(l.sessionStorageObj[t.slice((n+l.location.origin+"@").length)]=e.sessionStorage.getItem(t));l.ssWrap=i.storage.emulate(i.storage.sessionStorage,l.sessionStorageObj)}let P=e.document?i.node.baseURI.get.call(e.document):e.location.href,k=l.sourceUrl(P);if(i.nativeMethods.defineProperty(l.meta,"base",{get:()=>e.document?(i.node.baseURI.get.call(e.document)!==P&&(P=i.node.baseURI.get.call(e.document),k=l.sourceUrl(P)),k):l.meta.url.href}),l.methods={setSource:n+"setSource",source:n+"source",location:n+"location",function:n+"function",string:n+"string",eval:n+"eval",parent:n+"parent",top:n+"top"},l.filterKeys=[o,l.methods.setSource,l.methods.source,l.methods.location,l.methods.function,l.methods.string,l.methods.eval,l.methods.parent,l.methods.top,n+"protocol",n+"storageObj",n+"url",n+"modifiedStyle",n+"config",n+"dispatched","Ultraviolet","__uvHook"],i.on("wrap",((e,t)=>{i.nativeMethods.defineProperty(t,"name",i.nativeMethods.getOwnPropertyDescriptor(e,"name")),i.nativeMethods.defineProperty(t,"length",i.nativeMethods.getOwnPropertyDescriptor(e,"length")),i.nativeMethods.defineProperty(t,l.methods.string,{enumerable:!1,value:i.nativeMethods.fnToString.call(e)}),i.nativeMethods.defineProperty(t,l.methods.function,{enumerable:!1,value:e})})),i.fetch.on("request",(e=>{e.data.input=l.rewriteUrl(e.data.input)})),i.fetch.on("requestUrl",(e=>{e.data.value=l.sourceUrl(e.data.value)})),i.fetch.on("responseUrl",(e=>{e.data.value=l.sourceUrl(e.data.value)})),i.xhr.on("open",(e=>{e.data.input=l.rewriteUrl(e.data.input)})),i.xhr.on("responseUrl",(e=>{e.data.value=l.sourceUrl(e.data.value)})),i.workers.on("worker",(e=>{e.data.url=l.rewriteUrl(e.data.url)})),i.workers.on("addModule",(e=>{e.data.url=l.rewriteUrl(e.data.url)})),i.workers.on("importScripts",(e=>{for(const t in e.data.scripts)e.data.scripts[t]=l.rewriteUrl(e.data.scripts[t])})),i.workers.on("postMessage",(e=>{let t=e.data.origin;e.data.origin="*",e.data.message={__data:e.data.message,__origin:l.meta.url.origin,__to:t}})),i.navigator.on("sendBeacon",(e=>{e.data.url=l.rewriteUrl(e.data.url)})),i.document.on("getCookie",(e=>{e.data.value=l.cookieStr})),i.document.on("setCookie",(e=>{Promise.resolve(l.cookie.setCookies(e.data.value,l.db,l.meta)).then((()=>{l.cookie.db().then((e=>{l.cookie.getCookies(e).then((e=>{l.cookieStr=l.cookie.serialize(e,l.meta,!0)}))}))}));const t=l.cookie.setCookie(e.data.value)[0];t.path||(t.path="/"),t.domain||(t.domain=l.meta.url.hostname),l.cookie.validateCookie(t,l.meta,!0)&&(l.cookieStr.length&&(l.cookieStr+="; "),l.cookieStr+=`${t.name}=${t.value}`),e.respondWith(e.data.value)})),i.element.on("setInnerHTML",(e=>{switch(e.that.tagName){case"SCRIPT":e.data.value=l.js.rewrite(e.data.value);break;case"STYLE":e.data.value=l.rewriteCSS(e.data.value);break;default:e.data.value=l.rewriteHtml(e.data.value)}})),i.element.on("getInnerHTML",(e=>{if("SCRIPT"===e.that.tagName)e.data.value=l.js.source(e.data.value);else e.data.value=l.sourceHtml(e.data.value)})),i.element.on("setOuterHTML",(e=>{e.data.value=l.rewriteHtml(e.data.value,{document:"HTML"===e.that.tagName})})),i.element.on("getOuterHTML",(e=>{switch(e.that.tagName){case"HEAD":e.data.value=l.sourceHtml(e.data.value.replace(/(.*)<\/head>/s,"$2")).replace(/(.*)<\/op-head>/s,"$2");break;case"BODY":e.data.value=l.sourceHtml(e.data.value.replace(/(.*)<\/body>/s,"$2")).replace(/(.*)<\/op-body>/s,"$2");break;default:e.data.value=l.sourceHtml(e.data.value,{document:"HTML"===e.that.tagName})}})),i.document.on("write",(e=>{if(!e.data.html.length)return!1;e.data.html=[l.rewriteHtml(e.data.html.join(""))]})),i.document.on("writeln",(e=>{if(!e.data.html.length)return!1;e.data.html=[l.rewriteHtml(e.data.html.join(""))]})),i.element.on("insertAdjacentHTML",(e=>{e.data.html=l.rewriteHtml(e.data.html)})),i.eventSource.on("construct",(e=>{e.data.url=l.rewriteUrl(e.data.url)})),i.eventSource.on("url",(e=>{e.data.url=l.rewriteUrl(e.data.url)})),i.history.on("replaceState",(e=>{e.data.url&&(e.data.url=l.rewriteUrl(e.data.url,"__uv"in e.that?e.that.__uv.meta:l.meta))})),i.history.on("pushState",(e=>{e.data.url&&(e.data.url=l.rewriteUrl(e.data.url,"__uv"in e.that?e.that.__uv.meta:l.meta))})),i.element.on("getAttribute",(e=>{i.element.hasAttribute.call(e.that,l.attributePrefix+"-attr-"+e.data.name)&&e.respondWith(e.target.call(e.that,l.attributePrefix+"-attr-"+e.data.name))})),i.message.on("postMessage",(e=>{let t=e.data.origin,a=l.call;e.that&&(a=e.that.__uv$source.call),e.data.origin="*",e.data.message={__data:e.data.message,__origin:(e.that||e.target).__uv$source.location.origin,__to:t},e.respondWith(a(e.target,r?[e.data.message,e.data.transfer]:[e.data.message,e.data.origin,e.data.transfer],e.that))})),i.message.on("data",(e=>{const{value:t}=e.data;"object"==typeof t&&"__data"in t&&"__origin"in t&&e.respondWith(t.__data)})),i.message.on("origin",(e=>{const t=i.message.messageData.get.call(e.that);"object"==typeof t&&t.__data&&t.__origin&&e.respondWith(t.__origin)})),i.overrideDescriptor(e,"origin",{get:(e,t)=>l.location.origin}),i.node.on("baseURI",(t=>{t.data.value.startsWith(e.location.origin)&&(t.data.value=l.sourceUrl(t.data.value))})),i.element.on("setAttribute",(t=>{if(t.that instanceof s&&"src"===t.data.name&&t.data.value.startsWith("blob:"))return t.target.call(t.that,l.attributePrefix+"-attr-"+t.data.name,t.data.value),void(t.data.value=l.blobUrls.get(t.data.value));l.attrs.isUrl(t.data.name)&&(t.target.call(t.that,l.attributePrefix+"-attr-"+t.data.name,t.data.value),t.data.value=l.rewriteUrl(t.data.value)),l.attrs.isStyle(t.data.name)&&(t.target.call(t.that,l.attributePrefix+"-attr-"+t.data.name,t.data.value),t.data.value=l.rewriteCSS(t.data.value,{context:"declarationList"})),l.attrs.isHtml(t.data.name)&&(t.target.call(t.that,l.attributePrefix+"-attr-"+t.data.name,t.data.value),t.data.value=l.rewriteHtml(t.data.value,{...l.meta,document:!0,injectHead:l.createHtmlInject(l.handlerScript,l.bundleScript,l.configScript,l.cookieStr,e.location.href)})),l.attrs.isSrcset(t.data.name)&&(t.target.call(t.that,l.attributePrefix+"-attr-"+t.data.name,t.data.value),t.data.value=l.html.wrapSrcset(t.data.value)),l.attrs.isForbidden(t.data.name)&&(t.data.name=l.attributePrefix+"-attr-"+t.data.name)})),i.element.on("audio",(e=>{e.data.url=l.rewriteUrl(e.data.url)})),i.element.hookProperty([g,b,f,_],"href",{get:(e,t)=>l.sourceUrl(e.call(t)),set:(e,t,[a])=>{i.element.setAttribute.call(t,l.attributePrefix+"-attr-href",a),e.call(t,l.rewriteUrl(a))}}),i.element.hookProperty([d,c,u,s,S,m,h,p,v,w],"src",{get:(e,t)=>l.sourceUrl(e.call(t)),set:(e,t,[a])=>{if(new String(a).toString().trim().startsWith("blob:")&&t instanceof s)return i.element.setAttribute.call(t,l.attributePrefix+"-attr-src",a),e.call(t,l.blobUrls.get(a)||a);i.element.setAttribute.call(t,l.attributePrefix+"-attr-src",a),e.call(t,l.rewriteUrl(a))}}),i.element.hookProperty([y],"action",{get:(e,t)=>l.sourceUrl(e.call(t)),set:(e,t,[a])=>{i.element.setAttribute.call(t,l.attributePrefix+"-attr-action",a),e.call(t,l.rewriteUrl(a))}}),i.element.hookProperty([S],"srcset",{get:(e,t)=>i.element.getAttribute.call(t,l.attributePrefix+"-attr-srcset")||e.call(t),set:(e,t,[a])=>{i.element.setAttribute.call(t,l.attributePrefix+"-attr-srcset",a),e.call(t,l.html.wrapSrcset(a))}}),i.element.hookProperty(d,"integrity",{get:(e,t)=>i.element.getAttribute.call(t,l.attributePrefix+"-attr-integrity"),set:(e,t,[a])=>{i.element.setAttribute.call(t,l.attributePrefix+"-attr-integrity",a)}}),i.element.hookProperty(p,"sandbox",{get:(e,t)=>i.element.getAttribute.call(t,l.attributePrefix+"-attr-sandbox")||e.call(t),set:(e,t,[a])=>{i.element.setAttribute.call(t,l.attributePrefix+"-attr-sandbox",a)}}),i.element.hookProperty(p,"contentWindow",{get:(e,r)=>{const o=e.call(r);try{return o.__uv||__uvHook(o,t,a),o}catch(e){return o}}}),i.element.hookProperty(p,"contentDocument",{get:(e,r)=>{const o=e.call(r);try{const e=o.defaultView;return e.__uv||__uvHook(e,t,a),o}catch(e){return win}}}),i.element.hookProperty(p,"srcdoc",{get:(e,t)=>i.element.getAttribute.call(t,l.attributePrefix+"-attr-srcdoc")||e.call(t),set:(t,a,[r])=>{t.call(a,l.rewriteHtml(r,{document:!0,injectHead:l.createHtmlInject(l.handlerScript,l.bundleScript,l.configScript,l.cookieStr,e.location.href)}))}}),i.node.on("getTextContent",(e=>{"SCRIPT"===e.that.tagName&&(e.data.value=l.js.source(e.data.value))})),i.node.on("setTextContent",(e=>{"SCRIPT"===e.that.tagName&&(e.data.value=l.js.rewrite(e.data.value))})),"serviceWorker"in e.navigator&&delete e.Navigator.prototype.serviceWorker,i.document.on("getDomain",(e=>{e.data.value=l.domain})),i.document.on("setDomain",(e=>{if(!e.data.value.toString().endsWith(l.meta.url.hostname.split(".").slice(-2).join(".")))return e.respondWith("");e.respondWith(l.domain=e.data.value)})),i.document.on("url",(e=>{e.data.value=l.location.href})),i.document.on("documentURI",(e=>{e.data.value=l.location.href})),i.document.on("referrer",(e=>{e.data.value=l.referrer||l.sourceUrl(e.data.value)})),i.document.on("parseFromString",(e=>{if("text/html"!==e.data.type)return!1;e.data.string=l.rewriteHtml(e.data.string,{...l.meta,document:!0})})),i.attribute.on("getValue",(e=>{i.element.hasAttribute.call(e.that.ownerElement,l.attributePrefix+"-attr-"+e.data.name)&&(e.data.value=i.element.getAttribute.call(e.that.ownerElement,l.attributePrefix+"-attr-"+e.data.name))})),i.attribute.on("setValue",(t=>{l.attrs.isUrl(t.data.name)&&(i.element.setAttribute.call(t.that.ownerElement,l.attributePrefix+"-attr-"+t.data.name,t.data.value),t.data.value=l.rewriteUrl(t.data.value)),l.attrs.isStyle(t.data.name)&&(i.element.setAttribute.call(t.that.ownerElement,l.attributePrefix+"-attr-"+t.data.name,t.data.value),t.data.value=l.rewriteCSS(t.data.value,{context:"declarationList"})),l.attrs.isHtml(t.data.name)&&(i.element.setAttribute.call(t.that.ownerElement,l.attributePrefix+"-attr-"+t.data.name,t.data.value),t.data.value=l.rewriteHtml(t.data.value,{...l.meta,document:!0,injectHead:l.createHtmlInject(l.handlerScript,l.bundleScript,l.configScript,l.cookieStr,e.location.href)})),l.attrs.isSrcset(t.data.name)&&(i.element.setAttribute.call(t.that.ownerElement,l.attributePrefix+"-attr-"+t.data.name,t.data.value),t.data.value=l.html.wrapSrcset(t.data.value))})),i.url.on("createObjectURL",(t=>{let a=t.target.call(t.that,t.data.object);if(a.startsWith("blob:"+location.origin)){let r="blob:"+("about:blank"!==l.meta.url.href?l.meta.url.origin:e.parent.__uv.meta.url.origin)+a.slice(5+location.origin.length);l.blobUrls.set(r,a),t.respondWith(r)}else t.respondWith(a)})),i.url.on("revokeObjectURL",(e=>{if(l.blobUrls.has(e.data.url)){const t=e.data.url;e.data.url=l.blobUrls.get(e.data.url),l.blobUrls.delete(t)}})),i.storage.on("get",(e=>{e.data.name=n+l.meta.url.origin+"@"+e.data.name})),i.storage.on("set",(e=>{e.that.__uv$storageObj&&(e.that.__uv$storageObj[e.data.name]=e.data.value),e.data.name=n+l.meta.url.origin+"@"+e.data.name})),i.storage.on("delete",(e=>{e.that.__uv$storageObj&&delete e.that.__uv$storageObj[e.data.name],e.data.name=n+l.meta.url.origin+"@"+e.data.name})),i.storage.on("getItem",(e=>{e.data.name=n+l.meta.url.origin+"@"+e.data.name})),i.storage.on("setItem",(e=>{e.that.__uv$storageObj&&(e.that.__uv$storageObj[e.data.name]=e.data.value),e.data.name=n+l.meta.url.origin+"@"+e.data.name})),i.storage.on("removeItem",(e=>{e.that.__uv$storageObj&&delete e.that.__uv$storageObj[e.data.name],e.data.name=n+l.meta.url.origin+"@"+e.data.name})),i.storage.on("clear",(e=>{if(e.that.__uv$storageObj)for(const t of i.nativeMethods.keys.call(null,e.that.__uv$storageObj))delete e.that.__uv$storageObj[t],i.storage.removeItem.call(e.that,n+l.meta.url.origin+"@"+t),e.respondWith()})),i.storage.on("length",(e=>{e.that.__uv$storageObj&&e.respondWith(i.nativeMethods.keys.call(null,e.that.__uv$storageObj).length)})),i.storage.on("key",(e=>{e.that.__uv$storageObj&&e.respondWith(i.nativeMethods.keys.call(null,e.that.__uv$storageObj)[e.data.index]||null)})),i.websocket.on("websocket",(async t=>{let a;try{a=new URL(t.data.url)}catch(e){return}const r={Host:a.host,Origin:l.meta.url.origin,Pragma:"no-cache","Cache-Control":"no-cache",Upgrade:"websocket","User-Agent":e.navigator.userAgent,Connection:"Upgrade"},o=l.cookie.serialize(l.cookies,{url:a},!1);o&&(r.Cookie=o);const s=[...t.data.protocols],d={protocol:a.protocol,host:a.hostname,port:a.port||("wss:"===a.protocol?"443":"80"),path:a.pathname+a.search};s.length&&(r["Sec-WebSocket-Protocol"]=s.join(", ")),t.data.url=("https:"===l.bare.protocol?"wss://":"ws://")+l.bare.host+l.bare.pathname+"v1/",t.data.protocols=["bare",l.encodeProtocol(JSON.stringify({remote:d,headers:r,forward_headers:["accept","accept-encoding","accept-language","sec-websocket-extensions","sec-websocket-key","sec-websocket-version"]}))];const c=new t.target(t.data.url,t.data.protocols);i.nativeMethods.defineProperty(c,n+"url",{enumerable:!1,value:a.href}),t.respondWith(c)})),i.websocket.on("url",(e=>{"__uv$url"in e.that&&(e.data.value=e.that.__uv$url)})),i.websocket.on("protocol",(e=>{"__uv$protocol"in e.that&&(e.data.value=e.that.__uv$protocol)})),i.function.on("function",(e=>{e.data.script=l.rewriteJS(e.data.script)})),i.function.on("toString",(e=>{l.methods.string in e.that&&e.respondWith(e.that[l.methods.string])})),i.object.on("getOwnPropertyNames",(e=>{e.data.names=e.data.names.filter((e=>!l.filterKeys.includes(e)))})),i.object.on("getOwnPropertyDescriptors",(e=>{for(const t of l.filterKeys)delete e.data.descriptors[t]})),i.style.on("setProperty",(e=>{i.style.dashedUrlProps.includes(e.data.property)&&(e.data.value=l.rewriteCSS(e.data.value,{context:"value",...l.meta}))})),i.style.on("getPropertyValue",(e=>{i.style.dashedUrlProps.includes(e.data.property)&&e.respondWith(l.sourceCSS(e.target.call(e.that,e.data.property),{context:"value",...l.meta}))})),"CSS2Properties"in e)for(const t of i.style.urlProps)i.overrideDescriptor(e.CSS2Properties.prototype,t,{get:(e,t)=>l.sourceCSS(e.call(t),{context:"value",...l.meta}),set:(e,t,a)=>{e.call(t,l.rewriteCSS(a,{context:"value",...l.meta}))}});else"HTMLElement"in e&&i.overrideDescriptor(e.HTMLElement.prototype,"style",{get:(e,t)=>{const a=e.call(t);if(!a[n+"modifiedStyle"])for(const e of i.style.urlProps)i.nativeMethods.defineProperty(a,e,{enumerable:!0,configurable:!0,get(){const t=i.style.getPropertyValue.call(this,e)||"";return l.sourceCSS(t,{context:"value",...l.meta})},set(t){i.style.setProperty.call(this,i.style.propToDashed[e]||e,l.rewriteCSS(t,{context:"value",...l.meta}))}}),i.nativeMethods.defineProperty(a,n+"modifiedStyle",{enumerable:!1,value:!0});return a}});i.style.on("setCssText",(e=>{e.data.value=l.rewriteCSS(e.data.value,{context:"declarationList",...l.meta})})),i.style.on("getCssText",(e=>{e.data.value=l.sourceCSS(e.data.value,{context:"declarationList",...l.meta})})),e.window&&l.addEventListener.call(e,"hashchange",(t=>{if(t.__uv$dispatched)return!1;t.stopImmediatePropagation();const a=e.location.hash;i.history.replaceState.call(e.history,"","",t.oldURL),l.location.hash=a})),i.location.on("hashchange",((t,a,r)=>{if(r.HashChangeEvent&&i.history.replaceState){i.history.replaceState.call(e.history,"","",l.rewriteUrl(a));const o=new r.HashChangeEvent("hashchange",{newURL:a,oldURL:t});i.nativeMethods.defineProperty(o,n+"dispatched",{value:!0,enumerable:!1}),l.dispatchEvent.call(e,o)}})),i.fetch.overrideRequest(),i.fetch.overrideUrl(),i.xhr.overrideOpen(),i.xhr.overrideResponseUrl(),i.element.overrideHtml(),i.element.overrideAttribute(),i.element.overrideInsertAdjacentHTML(),i.element.overrideAudio(),i.node.overrideBaseURI(),i.node.overrideTextContent(),i.attribute.overrideNameValue(),i.document.overrideDomain(),i.document.overrideURL(),i.document.overrideDocumentURI(),i.document.overrideWrite(),i.document.overrideReferrer(),i.document.overrideParseFromString(),i.storage.overrideMethods(),i.storage.overrideLength(),i.object.overrideGetPropertyNames(),i.object.overrideGetOwnPropertyDescriptors(),i.history.overridePushState(),i.history.overrideReplaceState(),i.eventSource.overrideConstruct(),i.eventSource.overrideUrl(),i.websocket.overrideWebSocket(),i.websocket.overrideProtocol(),i.websocket.overrideUrl(),i.url.overrideObjectURL(),i.document.overrideCookie(),i.message.overridePostMessage(),i.message.overrideMessageOrigin(),i.message.overrideMessageData(),i.workers.overrideWorker(),i.workers.overrideAddModule(),i.workers.overrideImportScripts(),i.workers.overridePostMessage(),i.style.overrideSetGetProperty(),i.style.overrideCssText(),i.navigator.overrideSendBeacon(),i.function.overrideFunction(),i.function.overrideToString(),i.location.overrideWorkerLocation((e=>new URL(l.sourceUrl(e)))),i.overrideDescriptor(e,"localStorage",{get:(t,a)=>(a||e).__uv.lsWrap}),i.overrideDescriptor(e,"sessionStorage",{get:(t,a)=>(a||e).__uv.ssWrap}),i.override(e,"open",((e,t,a)=>{if(!a.length)return e.apply(t,a);let[r]=a;return r=l.rewriteUrl(r),e.call(t,r)})),l.$wrap=function(e){return"location"===e?l.methods.location:"eval"===e?l.methods.eval:e},l.$get=function(t){return t===e.location?l.location:t===e.eval?l.eval:t===e.parent?e.__uv$parent:t===e.top?e.__uv$top:t},l.eval=i.wrap(e,"eval",((e,t,a)=>{if(!a.length||"string"!=typeof a[0])return e.apply(t,a);let[r]=a;return r=l.rewriteJS(r),e.call(t,r)})),l.call=function(e,t,a){return a?e.apply(a,t):e(...t)},l.call$=function(e,t,a=[]){return e[t].apply(e,a)},i.nativeMethods.defineProperty(e.Object.prototype,o,{get:()=>l,enumerable:!1}),i.nativeMethods.defineProperty(e.Object.prototype,l.methods.setSource,{value:function(e){return i.nativeMethods.isExtensible(this)?(i.nativeMethods.defineProperty(this,l.methods.source,{value:e,writable:!0,enumerable:!1}),this):this},enumerable:!1}),i.nativeMethods.defineProperty(e.Object.prototype,l.methods.source,{value:l,writable:!0,enumerable:!1}),i.nativeMethods.defineProperty(e.Object.prototype,l.methods.location,{configurable:!0,get(){return this===e.document||this===e?l.location:this.location},set(t){this===e.document||this===e?l.location.href=t:this.location=t}}),i.nativeMethods.defineProperty(e.Object.prototype,l.methods.parent,{configurable:!0,get(){const t=this.parent;if(this===e)try{return"__uv"in t?t:this}catch(e){return this}return t},set(e){this.parent=e}}),i.nativeMethods.defineProperty(e.Object.prototype,l.methods.top,{configurable:!0,get(){const t=this.top;if(this===e){if(t===this.parent)return this[l.methods.parent];try{if("__uv"in t)return t;{let e=this;for(;e.parent!==t;)e=e.parent;return"__uv"in e?e:this}}catch(e){return this}}return t},set(e){this.top=e}}),i.nativeMethods.defineProperty(e.Object.prototype,l.methods.eval,{configurable:!0,get(){return this===e?l.eval:this.eval},set(e){this.eval=e}})}self.__uv||__uvHook(self,self.__uv$config,self.__uv$config.bare); \ No newline at end of file +async function __uvHook(e,t={},a="https://bare.commander.whimsy.me"){if("__uv"in e&&e.__uv instanceof Ultraviolet)return!1;e.document&&e.window&&e.document.querySelectorAll("script[__uv-script]").forEach((e=>e.remove()));const r=!e.window,o="__uv",n="__uv$",l=new Ultraviolet({...t,window:e});"function"==typeof t.construct&&t.construct(l,r?"worker":"window");const{client:i}=l,{HTMLMediaElement:s,HTMLScriptElement:d,HTMLAudioElement:c,HTMLVideoElement:u,HTMLInputElement:m,HTMLEmbedElement:h,HTMLTrackElement:v,HTMLAnchorElement:g,HTMLIFrameElement:p,HTMLAreaElement:b,HTMLLinkElement:f,HTMLBaseElement:_,HTMLFormElement:y,HTMLImageElement:S,HTMLSourceElement:w}=e;i.nativeMethods.defineProperty(e,"__uv",{value:l,enumerable:!1}),l.meta.origin=location.origin,l.location=i.location.emulate((e=>"about:srcdoc"===e?new URL(e):(e.startsWith("blob:")&&(e=e.slice(5)),new URL(l.sourceUrl(e)))),(e=>l.rewriteUrl(e))),l.cookieStr=e.__uv$cookies||"",l.meta.url=l.location,l.domain=l.meta.url.host,l.blobUrls=new e.Map,l.referrer="",l.cookies=[],l.localStorageObj={},l.sessionStorageObj={};try{l.bare=new URL(a,e.location.href)}catch(t){l.bare=e.parent.__uv.bare}if("about:srcdoc"===l.location.href&&(l.meta=e.parent.__uv.meta),e.EventTarget&&(l.addEventListener=e.EventTarget.prototype.addEventListener,l.removeListener=e.EventTarget.prototype.removeListener,l.dispatchEvent=e.EventTarget.prototype.dispatchEvent),i.nativeMethods.defineProperty(i.storage.storeProto,"__uv$storageObj",{get(){return this===i.storage.sessionStorage?l.sessionStorageObj:this===i.storage.localStorage?l.localStorageObj:void 0},enumerable:!1}),e.localStorage){for(const t in e.localStorage)t.startsWith(n+l.location.origin+"@")&&(l.localStorageObj[t.slice((n+l.location.origin+"@").length)]=e.localStorage.getItem(t));l.lsWrap=i.storage.emulate(i.storage.localStorage,l.localStorageObj)}if(e.sessionStorage){for(const t in e.sessionStorage)t.startsWith(n+l.location.origin+"@")&&(l.sessionStorageObj[t.slice((n+l.location.origin+"@").length)]=e.sessionStorage.getItem(t));l.ssWrap=i.storage.emulate(i.storage.sessionStorage,l.sessionStorageObj)}let P=e.document?i.node.baseURI.get.call(e.document):e.location.href,k=l.sourceUrl(P);if(i.nativeMethods.defineProperty(l.meta,"base",{get:()=>e.document?(i.node.baseURI.get.call(e.document)!==P&&(P=i.node.baseURI.get.call(e.document),k=l.sourceUrl(P)),k):l.meta.url.href}),l.methods={setSource:n+"setSource",source:n+"source",location:n+"location",function:n+"function",string:n+"string",eval:n+"eval",parent:n+"parent",top:n+"top"},l.filterKeys=[o,l.methods.setSource,l.methods.source,l.methods.location,l.methods.function,l.methods.string,l.methods.eval,l.methods.parent,l.methods.top,n+"protocol",n+"storageObj",n+"url",n+"modifiedStyle",n+"config",n+"dispatched","Ultraviolet","__uvHook"],i.on("wrap",((e,t)=>{i.nativeMethods.defineProperty(t,"name",i.nativeMethods.getOwnPropertyDescriptor(e,"name")),i.nativeMethods.defineProperty(t,"length",i.nativeMethods.getOwnPropertyDescriptor(e,"length")),i.nativeMethods.defineProperty(t,l.methods.string,{enumerable:!1,value:i.nativeMethods.fnToString.call(e)}),i.nativeMethods.defineProperty(t,l.methods.function,{enumerable:!1,value:e})})),i.fetch.on("request",(e=>{e.data.input=l.rewriteUrl(e.data.input)})),i.fetch.on("requestUrl",(e=>{e.data.value=l.sourceUrl(e.data.value)})),i.fetch.on("responseUrl",(e=>{e.data.value=l.sourceUrl(e.data.value)})),i.xhr.on("open",(e=>{e.data.input=l.rewriteUrl(e.data.input)})),i.xhr.on("responseUrl",(e=>{e.data.value=l.sourceUrl(e.data.value)})),i.workers.on("worker",(e=>{e.data.url=l.rewriteUrl(e.data.url)})),i.workers.on("addModule",(e=>{e.data.url=l.rewriteUrl(e.data.url)})),i.workers.on("importScripts",(e=>{for(const t in e.data.scripts)e.data.scripts[t]=l.rewriteUrl(e.data.scripts[t])})),i.workers.on("postMessage",(e=>{let t=e.data.origin;e.data.origin="*",e.data.message={__data:e.data.message,__origin:l.meta.url.origin,__to:t}})),i.navigator.on("sendBeacon",(e=>{e.data.url=l.rewriteUrl(e.data.url)})),i.document.on("getCookie",(e=>{e.data.value=l.cookieStr})),i.document.on("setCookie",(e=>{Promise.resolve(l.cookie.setCookies(e.data.value,l.db,l.meta)).then((()=>{l.cookie.db().then((e=>{l.cookie.getCookies(e).then((e=>{l.cookieStr=l.cookie.serialize(e,l.meta,!0)}))}))}));const t=l.cookie.setCookie(e.data.value)[0];t.path||(t.path="/"),t.domain||(t.domain=l.meta.url.hostname),l.cookie.validateCookie(t,l.meta,!0)&&(l.cookieStr.length&&(l.cookieStr+="; "),l.cookieStr+=`${t.name}=${t.value}`),e.respondWith(e.data.value)})),i.element.on("setInnerHTML",(e=>{switch(e.that.tagName){case"SCRIPT":e.data.value=l.js.rewrite(e.data.value);break;case"STYLE":e.data.value=l.rewriteCSS(e.data.value);break;default:e.data.value=l.rewriteHtml(e.data.value)}})),i.element.on("getInnerHTML",(e=>{if("SCRIPT"===e.that.tagName)e.data.value=l.js.source(e.data.value);else e.data.value=l.sourceHtml(e.data.value)})),i.element.on("setOuterHTML",(e=>{e.data.value=l.rewriteHtml(e.data.value,{document:"HTML"===e.that.tagName})})),i.element.on("getOuterHTML",(e=>{switch(e.that.tagName){case"HEAD":e.data.value=l.sourceHtml(e.data.value.replace(/(.*)<\/head>/s,"$2")).replace(/(.*)<\/op-head>/s,"$2");break;case"BODY":e.data.value=l.sourceHtml(e.data.value.replace(/(.*)<\/body>/s,"$2")).replace(/(.*)<\/op-body>/s,"$2");break;default:e.data.value=l.sourceHtml(e.data.value,{document:"HTML"===e.that.tagName})}})),i.document.on("write",(e=>{if(!e.data.html.length)return!1;e.data.html=[l.rewriteHtml(e.data.html.join(""))]})),i.document.on("writeln",(e=>{if(!e.data.html.length)return!1;e.data.html=[l.rewriteHtml(e.data.html.join(""))]})),i.element.on("insertAdjacentHTML",(e=>{e.data.html=l.rewriteHtml(e.data.html)})),i.eventSource.on("construct",(e=>{e.data.url=l.rewriteUrl(e.data.url)})),i.eventSource.on("url",(e=>{e.data.url=l.rewriteUrl(e.data.url)})),i.history.on("replaceState",(e=>{e.data.url&&(e.data.url=l.rewriteUrl(e.data.url,"__uv"in e.that?e.that.__uv.meta:l.meta))})),i.history.on("pushState",(e=>{e.data.url&&(e.data.url=l.rewriteUrl(e.data.url,"__uv"in e.that?e.that.__uv.meta:l.meta))})),i.element.on("getAttribute",(e=>{i.element.hasAttribute.call(e.that,l.attributePrefix+"-attr-"+e.data.name)&&e.respondWith(e.target.call(e.that,l.attributePrefix+"-attr-"+e.data.name))})),i.message.on("postMessage",(e=>{let t=e.data.origin,a=l.call;e.that&&(a=e.that.__uv$source.call),e.data.origin="*",e.data.message={__data:e.data.message,__origin:(e.that||e.target).__uv$source.location.origin,__to:t},e.respondWith(a(e.target,r?[e.data.message,e.data.transfer]:[e.data.message,e.data.origin,e.data.transfer],e.that))})),i.message.on("data",(e=>{const{value:t}=e.data;"object"==typeof t&&"__data"in t&&"__origin"in t&&e.respondWith(t.__data)})),i.message.on("origin",(e=>{const t=i.message.messageData.get.call(e.that);"object"==typeof t&&t.__data&&t.__origin&&e.respondWith(t.__origin)})),i.overrideDescriptor(e,"origin",{get:(e,t)=>l.location.origin}),i.node.on("baseURI",(t=>{t.data.value.startsWith(e.location.origin)&&(t.data.value=l.sourceUrl(t.data.value))})),i.element.on("setAttribute",(t=>{if(t.that instanceof s&&"src"===t.data.name&&t.data.value.startsWith("blob:"))return t.target.call(t.that,l.attributePrefix+"-attr-"+t.data.name,t.data.value),void(t.data.value=l.blobUrls.get(t.data.value));l.attrs.isUrl(t.data.name)&&(t.target.call(t.that,l.attributePrefix+"-attr-"+t.data.name,t.data.value),t.data.value=l.rewriteUrl(t.data.value)),l.attrs.isStyle(t.data.name)&&(t.target.call(t.that,l.attributePrefix+"-attr-"+t.data.name,t.data.value),t.data.value=l.rewriteCSS(t.data.value,{context:"declarationList"})),l.attrs.isHtml(t.data.name)&&(t.target.call(t.that,l.attributePrefix+"-attr-"+t.data.name,t.data.value),t.data.value=l.rewriteHtml(t.data.value,{...l.meta,document:!0,injectHead:l.createHtmlInject(l.handlerScript,l.bundleScript,l.configScript,l.cookieStr,e.location.href)})),l.attrs.isSrcset(t.data.name)&&(t.target.call(t.that,l.attributePrefix+"-attr-"+t.data.name,t.data.value),t.data.value=l.html.wrapSrcset(t.data.value)),l.attrs.isForbidden(t.data.name)&&(t.data.name=l.attributePrefix+"-attr-"+t.data.name)})),i.element.on("audio",(e=>{e.data.url=l.rewriteUrl(e.data.url)})),i.element.hookProperty([g,b,f,_],"href",{get:(e,t)=>l.sourceUrl(e.call(t)),set:(e,t,[a])=>{i.element.setAttribute.call(t,l.attributePrefix+"-attr-href",a),e.call(t,l.rewriteUrl(a))}}),i.element.hookProperty([d,c,u,s,S,m,h,p,v,w],"src",{get:(e,t)=>l.sourceUrl(e.call(t)),set:(e,t,[a])=>{if(new String(a).toString().trim().startsWith("blob:")&&t instanceof s)return i.element.setAttribute.call(t,l.attributePrefix+"-attr-src",a),e.call(t,l.blobUrls.get(a)||a);i.element.setAttribute.call(t,l.attributePrefix+"-attr-src",a),e.call(t,l.rewriteUrl(a))}}),i.element.hookProperty([y],"action",{get:(e,t)=>l.sourceUrl(e.call(t)),set:(e,t,[a])=>{i.element.setAttribute.call(t,l.attributePrefix+"-attr-action",a),e.call(t,l.rewriteUrl(a))}}),i.element.hookProperty([S],"srcset",{get:(e,t)=>i.element.getAttribute.call(t,l.attributePrefix+"-attr-srcset")||e.call(t),set:(e,t,[a])=>{i.element.setAttribute.call(t,l.attributePrefix+"-attr-srcset",a),e.call(t,l.html.wrapSrcset(a))}}),i.element.hookProperty(d,"integrity",{get:(e,t)=>i.element.getAttribute.call(t,l.attributePrefix+"-attr-integrity"),set:(e,t,[a])=>{i.element.setAttribute.call(t,l.attributePrefix+"-attr-integrity",a)}}),i.element.hookProperty(p,"sandbox",{get:(e,t)=>i.element.getAttribute.call(t,l.attributePrefix+"-attr-sandbox")||e.call(t),set:(e,t,[a])=>{i.element.setAttribute.call(t,l.attributePrefix+"-attr-sandbox",a)}}),i.element.hookProperty(p,"contentWindow",{get:(e,r)=>{const o=e.call(r);try{return o.__uv||__uvHook(o,t,a),o}catch(e){return o}}}),i.element.hookProperty(p,"contentDocument",{get:(e,r)=>{const o=e.call(r);try{const e=o.defaultView;return e.__uv||__uvHook(e,t,a),o}catch(e){return win}}}),i.element.hookProperty(p,"srcdoc",{get:(e,t)=>i.element.getAttribute.call(t,l.attributePrefix+"-attr-srcdoc")||e.call(t),set:(t,a,[r])=>{t.call(a,l.rewriteHtml(r,{document:!0,injectHead:l.createHtmlInject(l.handlerScript,l.bundleScript,l.configScript,l.cookieStr,e.location.href)}))}}),i.node.on("getTextContent",(e=>{"SCRIPT"===e.that.tagName&&(e.data.value=l.js.source(e.data.value))})),i.node.on("setTextContent",(e=>{"SCRIPT"===e.that.tagName&&(e.data.value=l.js.rewrite(e.data.value))})),"serviceWorker"in e.navigator&&delete e.Navigator.prototype.serviceWorker,i.document.on("getDomain",(e=>{e.data.value=l.domain})),i.document.on("setDomain",(e=>{if(!e.data.value.toString().endsWith(l.meta.url.hostname.split(".").slice(-2).join(".")))return e.respondWith("");e.respondWith(l.domain=e.data.value)})),i.document.on("url",(e=>{e.data.value=l.location.href})),i.document.on("documentURI",(e=>{e.data.value=l.location.href})),i.document.on("referrer",(e=>{e.data.value=l.referrer||l.sourceUrl(e.data.value)})),i.document.on("parseFromString",(e=>{if("text/html"!==e.data.type)return!1;e.data.string=l.rewriteHtml(e.data.string,{...l.meta,document:!0})})),i.attribute.on("getValue",(e=>{i.element.hasAttribute.call(e.that.ownerElement,l.attributePrefix+"-attr-"+e.data.name)&&(e.data.value=i.element.getAttribute.call(e.that.ownerElement,l.attributePrefix+"-attr-"+e.data.name))})),i.attribute.on("setValue",(t=>{l.attrs.isUrl(t.data.name)&&(i.element.setAttribute.call(t.that.ownerElement,l.attributePrefix+"-attr-"+t.data.name,t.data.value),t.data.value=l.rewriteUrl(t.data.value)),l.attrs.isStyle(t.data.name)&&(i.element.setAttribute.call(t.that.ownerElement,l.attributePrefix+"-attr-"+t.data.name,t.data.value),t.data.value=l.rewriteCSS(t.data.value,{context:"declarationList"})),l.attrs.isHtml(t.data.name)&&(i.element.setAttribute.call(t.that.ownerElement,l.attributePrefix+"-attr-"+t.data.name,t.data.value),t.data.value=l.rewriteHtml(t.data.value,{...l.meta,document:!0,injectHead:l.createHtmlInject(l.handlerScript,l.bundleScript,l.configScript,l.cookieStr,e.location.href)})),l.attrs.isSrcset(t.data.name)&&(i.element.setAttribute.call(t.that.ownerElement,l.attributePrefix+"-attr-"+t.data.name,t.data.value),t.data.value=l.html.wrapSrcset(t.data.value))})),i.url.on("createObjectURL",(t=>{let a=t.target.call(t.that,t.data.object);if(a.startsWith("blob:"+location.origin)){let r="blob:"+("about:blank"!==l.meta.url.href?l.meta.url.origin:e.parent.__uv.meta.url.origin)+a.slice(5+location.origin.length);l.blobUrls.set(r,a),t.respondWith(r)}else t.respondWith(a)})),i.url.on("revokeObjectURL",(e=>{if(l.blobUrls.has(e.data.url)){const t=e.data.url;e.data.url=l.blobUrls.get(e.data.url),l.blobUrls.delete(t)}})),i.storage.on("get",(e=>{e.data.name=n+l.meta.url.origin+"@"+e.data.name})),i.storage.on("set",(e=>{e.that.__uv$storageObj&&(e.that.__uv$storageObj[e.data.name]=e.data.value),e.data.name=n+l.meta.url.origin+"@"+e.data.name})),i.storage.on("delete",(e=>{e.that.__uv$storageObj&&delete e.that.__uv$storageObj[e.data.name],e.data.name=n+l.meta.url.origin+"@"+e.data.name})),i.storage.on("getItem",(e=>{e.data.name=n+l.meta.url.origin+"@"+e.data.name})),i.storage.on("setItem",(e=>{e.that.__uv$storageObj&&(e.that.__uv$storageObj[e.data.name]=e.data.value),e.data.name=n+l.meta.url.origin+"@"+e.data.name})),i.storage.on("removeItem",(e=>{e.that.__uv$storageObj&&delete e.that.__uv$storageObj[e.data.name],e.data.name=n+l.meta.url.origin+"@"+e.data.name})),i.storage.on("clear",(e=>{if(e.that.__uv$storageObj)for(const t of i.nativeMethods.keys.call(null,e.that.__uv$storageObj))delete e.that.__uv$storageObj[t],i.storage.removeItem.call(e.that,n+l.meta.url.origin+"@"+t),e.respondWith()})),i.storage.on("length",(e=>{e.that.__uv$storageObj&&e.respondWith(i.nativeMethods.keys.call(null,e.that.__uv$storageObj).length)})),i.storage.on("key",(e=>{e.that.__uv$storageObj&&e.respondWith(i.nativeMethods.keys.call(null,e.that.__uv$storageObj)[e.data.index]||null)})),i.websocket.on("websocket",(async t=>{let a;try{a=new URL(t.data.url)}catch(e){return}const r={Host:a.host,Origin:l.meta.url.origin,Pragma:"no-cache","Cache-Control":"no-cache",Upgrade:"websocket","User-Agent":e.navigator.userAgent,Connection:"Upgrade"},o=l.cookie.serialize(l.cookies,{url:a},!1);o&&(r.Cookie=o);const s=[...t.data.protocols],d={protocol:a.protocol,host:a.hostname,port:a.port||("wss:"===a.protocol?"443":"80"),path:a.pathname+a.search};s.length&&(r["Sec-WebSocket-Protocol"]=s.join(", ")),t.data.url=("https:"===l.bare.protocol?"wss://":"ws://")+l.bare.host+l.bare.pathname+"v1/",t.data.protocols=["bare",l.encodeProtocol(JSON.stringify({remote:d,headers:r,forward_headers:["accept","accept-encoding","accept-language","sec-websocket-extensions","sec-websocket-key","sec-websocket-version"]}))];const c=new t.target(t.data.url,t.data.protocols);i.nativeMethods.defineProperty(c,n+"url",{enumerable:!1,value:a.href}),t.respondWith(c)})),i.websocket.on("url",(e=>{"__uv$url"in e.that&&(e.data.value=e.that.__uv$url)})),i.websocket.on("protocol",(e=>{"__uv$protocol"in e.that&&(e.data.value=e.that.__uv$protocol)})),i.function.on("function",(e=>{e.data.script=l.rewriteJS(e.data.script)})),i.function.on("toString",(e=>{l.methods.string in e.that&&e.respondWith(e.that[l.methods.string])})),i.object.on("getOwnPropertyNames",(e=>{e.data.names=e.data.names.filter((e=>!l.filterKeys.includes(e)))})),i.object.on("getOwnPropertyDescriptors",(e=>{for(const t of l.filterKeys)delete e.data.descriptors[t]})),i.style.on("setProperty",(e=>{i.style.dashedUrlProps.includes(e.data.property)&&(e.data.value=l.rewriteCSS(e.data.value,{context:"value",...l.meta}))})),i.style.on("getPropertyValue",(e=>{i.style.dashedUrlProps.includes(e.data.property)&&e.respondWith(l.sourceCSS(e.target.call(e.that,e.data.property),{context:"value",...l.meta}))})),"CSS2Properties"in e)for(const t of i.style.urlProps)i.overrideDescriptor(e.CSS2Properties.prototype,t,{get:(e,t)=>l.sourceCSS(e.call(t),{context:"value",...l.meta}),set:(e,t,a)=>{e.call(t,l.rewriteCSS(a,{context:"value",...l.meta}))}});else"HTMLElement"in e&&i.overrideDescriptor(e.HTMLElement.prototype,"style",{get:(e,t)=>{const a=e.call(t);if(!a[n+"modifiedStyle"])for(const e of i.style.urlProps)i.nativeMethods.defineProperty(a,e,{enumerable:!0,configurable:!0,get(){const t=i.style.getPropertyValue.call(this,e)||"";return l.sourceCSS(t,{context:"value",...l.meta})},set(t){i.style.setProperty.call(this,i.style.propToDashed[e]||e,l.rewriteCSS(t,{context:"value",...l.meta}))}}),i.nativeMethods.defineProperty(a,n+"modifiedStyle",{enumerable:!1,value:!0});return a}});i.style.on("setCssText",(e=>{e.data.value=l.rewriteCSS(e.data.value,{context:"declarationList",...l.meta})})),i.style.on("getCssText",(e=>{e.data.value=l.sourceCSS(e.data.value,{context:"declarationList",...l.meta})})),e.window&&l.addEventListener.call(e,"hashchange",(t=>{if(t.__uv$dispatched)return!1;t.stopImmediatePropagation();const a=e.location.hash;i.history.replaceState.call(e.history,"","",t.oldURL),l.location.hash=a})),i.location.on("hashchange",((t,a,r)=>{if(r.HashChangeEvent&&i.history.replaceState){i.history.replaceState.call(e.history,"","",l.rewriteUrl(a));const o=new r.HashChangeEvent("hashchange",{newURL:a,oldURL:t});i.nativeMethods.defineProperty(o,n+"dispatched",{value:!0,enumerable:!1}),l.dispatchEvent.call(e,o)}})),i.fetch.overrideRequest(),i.fetch.overrideUrl(),i.xhr.overrideOpen(),i.xhr.overrideResponseUrl(),i.element.overrideHtml(),i.element.overrideAttribute(),i.element.overrideInsertAdjacentHTML(),i.element.overrideAudio(),i.node.overrideBaseURI(),i.node.overrideTextContent(),i.attribute.overrideNameValue(),i.document.overrideDomain(),i.document.overrideURL(),i.document.overrideDocumentURI(),i.document.overrideWrite(),i.document.overrideReferrer(),i.document.overrideParseFromString(),i.storage.overrideMethods(),i.storage.overrideLength(),i.object.overrideGetPropertyNames(),i.object.overrideGetOwnPropertyDescriptors(),i.history.overridePushState(),i.history.overrideReplaceState(),i.eventSource.overrideConstruct(),i.eventSource.overrideUrl(),i.websocket.overrideWebSocket(),i.websocket.overrideProtocol(),i.websocket.overrideUrl(),i.url.overrideObjectURL(),i.document.overrideCookie(),i.message.overridePostMessage(),i.message.overrideMessageOrigin(),i.message.overrideMessageData(),i.workers.overrideWorker(),i.workers.overrideAddModule(),i.workers.overrideImportScripts(),i.workers.overridePostMessage(),i.style.overrideSetGetProperty(),i.style.overrideCssText(),i.navigator.overrideSendBeacon(),i.function.overrideFunction(),i.function.overrideToString(),i.location.overrideWorkerLocation((e=>new URL(l.sourceUrl(e)))),i.overrideDescriptor(e,"localStorage",{get:(t,a)=>(a||e).__uv.lsWrap}),i.overrideDescriptor(e,"sessionStorage",{get:(t,a)=>(a||e).__uv.ssWrap}),i.override(e,"open",((e,t,a)=>{if(!a.length)return e.apply(t,a);let[r]=a;return r=l.rewriteUrl(r),e.call(t,r)})),l.$wrap=function(e){return"location"===e?l.methods.location:"eval"===e?l.methods.eval:e},l.$get=function(t){return t===e.location?l.location:t===e.eval?l.eval:t===e.parent?e.__uv$parent:t===e.top?e.__uv$top:t},l.eval=i.wrap(e,"eval",((e,t,a)=>{if(!a.length||"string"!=typeof a[0])return e.apply(t,a);let[r]=a;return r=l.rewriteJS(r),e.call(t,r)})),l.call=function(e,t,a){return a?e.apply(a,t):e(...t)},l.call$=function(e,t,a=[]){return e[t].apply(e,a)},i.nativeMethods.defineProperty(e.Object.prototype,o,{get:()=>l,enumerable:!1}),i.nativeMethods.defineProperty(e.Object.prototype,l.methods.setSource,{value:function(e){return i.nativeMethods.isExtensible(this)?(i.nativeMethods.defineProperty(this,l.methods.source,{value:e,writable:!0,enumerable:!1}),this):this},enumerable:!1}),i.nativeMethods.defineProperty(e.Object.prototype,l.methods.source,{value:l,writable:!0,enumerable:!1}),i.nativeMethods.defineProperty(e.Object.prototype,l.methods.location,{configurable:!0,get(){return this===e.document||this===e?l.location:this.location},set(t){this===e.document||this===e?l.location.href=t:this.location=t}}),i.nativeMethods.defineProperty(e.Object.prototype,l.methods.parent,{configurable:!0,get(){const t=this.parent;if(this===e)try{return"__uv"in t?t:this}catch(e){return this}return t},set(e){this.parent=e}}),i.nativeMethods.defineProperty(e.Object.prototype,l.methods.top,{configurable:!0,get(){const t=this.top;if(this===e){if(t===this.parent)return this[l.methods.parent];try{if("__uv"in t)return t;{let e=this;for(;e.parent!==t;)e=e.parent;return"__uv"in e?e:this}}catch(e){return this}}return t},set(e){this.top=e}}),i.nativeMethods.defineProperty(e.Object.prototype,l.methods.eval,{configurable:!0,get(){return this===e?l.eval:this.eval},set(e){this.eval=e}})}self.__uv||__uvHook(self,self.__uv$config,self.__uv$config.bare); \ No newline at end of file diff --git a/uv/uv.sw.js b/uv/uv.sw.js index 378353e..211b891 100644 --- a/uv/uv.sw.js +++ b/uv/uv.sw.js @@ -1 +1 @@ -importScripts("/uv/uv.bundle.js"),importScripts("/uv/uv.config.js");class UVServiceWorker extends EventEmitter{constructor(e=__uv$config){super(),e.bare||(e.bare="https://bear.lema.cl"),this.addresses="string"==typeof e.bare?[new URL(e.bare,location)]:e.bare.map((e=>new URL(e,location))),this.headers={csp:["cross-origin-embedder-policy","cross-origin-opener-policy","cross-origin-resource-policy","content-security-policy","content-security-policy-report-only","expect-ct","feature-policy","origin-isolation","strict-transport-security","upgrade-insecure-requests","x-content-type-options","x-download-options","x-frame-options","x-permitted-cross-domain-policies","x-powered-by","x-xss-protection"],forward:["accept-encoding","connection","content-length"]},this.method={empty:["GET","HEAD"]},this.statusCode={empty:[204,304]},this.config=e,this.browser=Ultraviolet.Bowser.getParser(self.navigator.userAgent).getBrowserName(),"Firefox"===this.browser&&(this.headers.forward.push("user-agent"),this.headers.forward.push("content-type"))}async fetch({request:e}){if(!e.url.startsWith(location.origin+(this.config.prefix||"/i/")))return fetch(e);try{const t=new Ultraviolet(this.config);"function"==typeof this.config.construct&&this.config.construct(t,"service");const r=await t.cookie.db();t.meta.origin=location.origin,t.meta.base=t.meta.url=new URL(t.sourceUrl(e.url));const n=new RequestContext(e,this,t,this.method.empty.includes(e.method.toUpperCase())?null:await e.blob());if("blob:"===t.meta.url.protocol&&(n.blob=!0,n.base=n.url=new URL(n.url.pathname)),e.referrer&&e.referrer.startsWith(location.origin)){const r=new URL(t.sourceUrl(e.referrer));(n.headers.origin||t.meta.url.origin!==r.origin&&"cors"===e.mode)&&(n.headers.origin=r.origin),n.headers.referer=r.href}const s=await t.cookie.getCookies(r)||[],i=t.cookie.serialize(s,t.meta,!1);"Firefox"===this.browser&&"iframe"!==e.destination&&"document"!==e.destination&&n.forward.shift(),i&&(n.headers.cookie=i),n.headers.Host=n.url.host;const o=new HookEvent(n,null,null);if(this.emit("request",o),o.intercepted)return o.returnValue;const a=await fetch(n.send);if(500===a.status)return Promise.reject("");const c=new ResponseContext(n,a,this),u=new HookEvent(c,null,null);if(this.emit("beforemod",u),u.intercepted)return u.returnValue;for(const e of this.headers.csp)c.headers[e]&&delete c.headers[e];if(c.headers.location&&(c.headers.location=t.rewriteUrl(c.headers.location)),c.headers["set-cookie"]&&(Promise.resolve(t.cookie.setCookies(c.headers["set-cookie"],r,t.meta)).then((()=>{self.clients.matchAll().then((function(e){e.forEach((function(e){e.postMessage({msg:"updateCookies",url:t.meta.url.href})}))}))})),delete c.headers["set-cookie"]),c.body)switch(e.destination){case"script":case"worker":c.body=`if (!self.__uv && self.importScripts) importScripts('${__uv$config.bundle}', '${__uv$config.config}', '${__uv$config.handler}');\n`,c.body+=t.js.rewrite(await a.text());break;case"style":c.body=t.rewriteCSS(await a.text());break;case"iframe":case"document":isHtml(t.meta.url,c.headers["content-type"]||"")&&(c.body=t.rewriteHtml(await a.text(),{document:!0,injectHead:t.createHtmlInject(this.config.handler,this.config.bundle,this.config.config,t.cookie.serialize(s,t.meta,!0),e.referrer)}))}return"text/event-stream"===n.headers.accept&&(c.headers["content-type"]="text/event-stream"),this.emit("response",u),u.intercepted?u.returnValue:new Response(c.body,{headers:c.headers,status:c.status,statusText:c.statusText})}catch(e){return new Response(e.toString(),{status:500})}}getBarerResponse(e){const t={},r=JSON.parse(e.headers.get("x-bare-headers"));for(const e in r)t[e.toLowerCase()]=r[e];return{headers:t,status:+e.headers.get("x-bare-status"),statusText:e.headers.get("x-bare-status-text"),body:this.statusCode.empty.includes(+e.headers.get("x-bare-status"))?null:e.body}}get address(){return this.addresses[Math.floor(Math.random()*this.addresses.length)]}static Ultraviolet=Ultraviolet}self.UVServiceWorker=UVServiceWorker;class ResponseContext{constructor(e,t,r){const{headers:n,status:s,statusText:i,body:o}=e.blob?{status:t.status,statusText:t.statusText,headers:Object.fromEntries([...t.headers.entries()]),body:t.body}:r.getBarerResponse(t);this.request=e,this.raw=t,this.ultraviolet=e.ultraviolet,this.headers=n,this.status=s,this.statusText=i,this.body=o}get url(){return this.request.url}get base(){return this.request.base}set base(e){this.request.base=e}}class RequestContext{constructor(e,t,r,n=null){this.ultraviolet=r,this.request=e,this.headers=Object.fromEntries([...e.headers.entries()]),this.method=e.method,this.forward=[...t.headers.forward],this.address=t.address,this.body=n||null,this.redirect=e.redirect,this.credentials="omit",this.mode="cors"===e.mode?e.mode:"same-origin",this.blob=!1}get send(){return new Request(this.blob?"blob:"+location.origin+this.url.pathname:this.address.href+"v1/",{method:this.method,headers:{"x-bare-protocol":this.url.protocol,"x-bare-host":this.url.hostname,"x-bare-path":this.url.pathname+this.url.search,"x-bare-port":this.url.port||("https:"===this.url.protocol?"443":"80"),"x-bare-headers":JSON.stringify(this.headers),"x-bare-forward-headers":JSON.stringify(this.forward),userKey:userKey},redirect:this.redirect,credentials:this.credentials,mode:location.origin!==this.address.origin?"cors":this.mode,body:this.body})}get url(){return this.ultraviolet.meta.url}set url(e){this.ultraviolet.meta.url=e}get base(){return this.ultraviolet.meta.base}set base(e){this.ultraviolet.meta.base=e}}function isHtml(e,t=""){return"text/html"===(Ultraviolet.mime.contentType(t||e.pathname)||"text/html").split(";")[0]}class HookEvent{#e;#t;constructor(e={},t=null,r=null){this.#e=!1,this.#t=null,this.data=e,this.target=t,this.that=r}get intercepted(){return this.#e}get returnValue(){return this.#t}respondWith(e){this.#t=e,this.#e=!0}}var ReflectOwnKeys,R="object"==typeof Reflect?Reflect:null,ReflectApply=R&&"function"==typeof R.apply?R.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};function ProcessEmitWarning(e){console&&console.warn&&console.warn(e)}ReflectOwnKeys=R&&"function"==typeof R.ownKeys?R.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var NumberIsNaN=Number.isNaN||function(e){return e!=e};function EventEmitter(){EventEmitter.init.call(this)}EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._eventsCount=0,EventEmitter.prototype._maxListeners=void 0;var defaultMaxListeners=10;function checkListener(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function _getMaxListeners(e){return void 0===e._maxListeners?EventEmitter.defaultMaxListeners:e._maxListeners}function _addListener(e,t,r,n){var s,i,o;if(checkListener(r),void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),i=e._events),o=i[t]),void 0===o)o=i[t]=r,++e._eventsCount;else if("function"==typeof o?o=i[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),(s=_getMaxListeners(e))>0&&o.length>s&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=o.length,ProcessEmitWarning(a)}return e}function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},s=onceWrapper.bind(n);return s.listener=r,n.wrapFn=s,s}function _listeners(e,t,r){var n=e._events;if(void 0===n)return[];var s=n[t];return void 0===s?[]:"function"==typeof s?r?[s.listener||s]:[s]:r?unwrapListeners(s):arrayClone(s,s.length)}function listenerCount(e){var t=this._events;if(void 0!==t){var r=t[e];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function arrayClone(e,t){for(var r=new Array(t),n=0;n0&&(i=t[0]),i instanceof Error)throw i;var o=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw o.context=i,o}var a=s[e];if(void 0===a)return!1;if("function"==typeof a)ReflectApply(a,this,t);else{var c=a.length,u=arrayClone(a,c);for(r=0;r=0;i--)if(r[i]===t||r[i].listener===t){o=r[i].listener,s=i;break}if(s<0)return this;0===s?r.shift():spliceOne(r,s),1===r.length&&(n[e]=r[0]),void 0!==n.removeListener&&this.emit("removeListener",e,o||t)}return this},EventEmitter.prototype.off=EventEmitter.prototype.removeListener,EventEmitter.prototype.removeAllListeners=function(e){var t,r,n;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[e]),this;if(0===arguments.length){var s,i=Object.keys(r);for(n=0;n=0;n--)this.removeListener(e,t[n]);return this},EventEmitter.prototype.listeners=function(e){return _listeners(this,e,!0)},EventEmitter.prototype.rawListeners=function(e){return _listeners(this,e,!1)},EventEmitter.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):listenerCount.call(e,t)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]}; \ No newline at end of file +importScripts("/uv/uv.bundle.js"),importScripts("/uv/uv.config.js");class UVServiceWorker extends EventEmitter{constructor(e=__uv$config){super(),e.bare||(e.bare="https://bare.commander.whimsy.me"),this.addresses="string"==typeof e.bare?[new URL(e.bare,location)]:e.bare.map((e=>new URL(e,location))),this.headers={csp:["cross-origin-embedder-policy","cross-origin-opener-policy","cross-origin-resource-policy","content-security-policy","content-security-policy-report-only","expect-ct","feature-policy","origin-isolation","strict-transport-security","upgrade-insecure-requests","x-content-type-options","x-download-options","x-frame-options","x-permitted-cross-domain-policies","x-powered-by","x-xss-protection"],forward:["accept-encoding","connection","content-length"]},this.method={empty:["GET","HEAD"]},this.statusCode={empty:[204,304]},this.config=e,this.browser=Ultraviolet.Bowser.getParser(self.navigator.userAgent).getBrowserName(),"Firefox"===this.browser&&(this.headers.forward.push("user-agent"),this.headers.forward.push("content-type"))}async fetch({request:e}){if(!e.url.startsWith(location.origin+(this.config.prefix||"/i/")))return fetch(e);try{const t=new Ultraviolet(this.config);"function"==typeof this.config.construct&&this.config.construct(t,"service");const r=await t.cookie.db();t.meta.origin=location.origin,t.meta.base=t.meta.url=new URL(t.sourceUrl(e.url));const n=new RequestContext(e,this,t,this.method.empty.includes(e.method.toUpperCase())?null:await e.blob());if("blob:"===t.meta.url.protocol&&(n.blob=!0,n.base=n.url=new URL(n.url.pathname)),e.referrer&&e.referrer.startsWith(location.origin)){const r=new URL(t.sourceUrl(e.referrer));(n.headers.origin||t.meta.url.origin!==r.origin&&"cors"===e.mode)&&(n.headers.origin=r.origin),n.headers.referer=r.href}const s=await t.cookie.getCookies(r)||[],i=t.cookie.serialize(s,t.meta,!1);"Firefox"===this.browser&&"iframe"!==e.destination&&"document"!==e.destination&&n.forward.shift(),i&&(n.headers.cookie=i),n.headers.Host=n.url.host;const o=new HookEvent(n,null,null);if(this.emit("request",o),o.intercepted)return o.returnValue;const a=await fetch(n.send);if(500===a.status)return Promise.reject("");const c=new ResponseContext(n,a,this),u=new HookEvent(c,null,null);if(this.emit("beforemod",u),u.intercepted)return u.returnValue;for(const e of this.headers.csp)c.headers[e]&&delete c.headers[e];if(c.headers.location&&(c.headers.location=t.rewriteUrl(c.headers.location)),c.headers["set-cookie"]&&(Promise.resolve(t.cookie.setCookies(c.headers["set-cookie"],r,t.meta)).then((()=>{self.clients.matchAll().then((function(e){e.forEach((function(e){e.postMessage({msg:"updateCookies",url:t.meta.url.href})}))}))})),delete c.headers["set-cookie"]),c.body)switch(e.destination){case"script":case"worker":c.body=`if (!self.__uv && self.importScripts) importScripts('${__uv$config.bundle}', '${__uv$config.config}', '${__uv$config.handler}');\n`,c.body+=t.js.rewrite(await a.text());break;case"style":c.body=t.rewriteCSS(await a.text());break;case"iframe":case"document":isHtml(t.meta.url,c.headers["content-type"]||"")&&(c.body=t.rewriteHtml(await a.text(),{document:!0,injectHead:t.createHtmlInject(this.config.handler,this.config.bundle,this.config.config,t.cookie.serialize(s,t.meta,!0),e.referrer)}))}return"text/event-stream"===n.headers.accept&&(c.headers["content-type"]="text/event-stream"),this.emit("response",u),u.intercepted?u.returnValue:new Response(c.body,{headers:c.headers,status:c.status,statusText:c.statusText})}catch(e){return new Response(e.toString(),{status:500})}}getBarerResponse(e){const t={},r=JSON.parse(e.headers.get("x-bare-headers"));for(const e in r)t[e.toLowerCase()]=r[e];return{headers:t,status:+e.headers.get("x-bare-status"),statusText:e.headers.get("x-bare-status-text"),body:this.statusCode.empty.includes(+e.headers.get("x-bare-status"))?null:e.body}}get address(){return this.addresses[Math.floor(Math.random()*this.addresses.length)]}static Ultraviolet=Ultraviolet}self.UVServiceWorker=UVServiceWorker;class ResponseContext{constructor(e,t,r){const{headers:n,status:s,statusText:i,body:o}=e.blob?{status:t.status,statusText:t.statusText,headers:Object.fromEntries([...t.headers.entries()]),body:t.body}:r.getBarerResponse(t);this.request=e,this.raw=t,this.ultraviolet=e.ultraviolet,this.headers=n,this.status=s,this.statusText=i,this.body=o}get url(){return this.request.url}get base(){return this.request.base}set base(e){this.request.base=e}}class RequestContext{constructor(e,t,r,n=null){this.ultraviolet=r,this.request=e,this.headers=Object.fromEntries([...e.headers.entries()]),this.method=e.method,this.forward=[...t.headers.forward],this.address=t.address,this.body=n||null,this.redirect=e.redirect,this.credentials="omit",this.mode="cors"===e.mode?e.mode:"same-origin",this.blob=!1}get send(){return new Request(this.blob?"blob:"+location.origin+this.url.pathname:this.address.href+"v1/",{method:this.method,headers:{"x-bare-protocol":this.url.protocol,"x-bare-host":this.url.hostname,"x-bare-path":this.url.pathname+this.url.search,"x-bare-port":this.url.port||("https:"===this.url.protocol?"443":"80"),"x-bare-headers":JSON.stringify(this.headers),"x-bare-forward-headers":JSON.stringify(this.forward),userKey:userKey},redirect:this.redirect,credentials:this.credentials,mode:location.origin!==this.address.origin?"cors":this.mode,body:this.body})}get url(){return this.ultraviolet.meta.url}set url(e){this.ultraviolet.meta.url=e}get base(){return this.ultraviolet.meta.base}set base(e){this.ultraviolet.meta.base=e}}function isHtml(e,t=""){return"text/html"===(Ultraviolet.mime.contentType(t||e.pathname)||"text/html").split(";")[0]}class HookEvent{#e;#t;constructor(e={},t=null,r=null){this.#e=!1,this.#t=null,this.data=e,this.target=t,this.that=r}get intercepted(){return this.#e}get returnValue(){return this.#t}respondWith(e){this.#t=e,this.#e=!0}}var ReflectOwnKeys,R="object"==typeof Reflect?Reflect:null,ReflectApply=R&&"function"==typeof R.apply?R.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};function ProcessEmitWarning(e){console&&console.warn&&console.warn(e)}ReflectOwnKeys=R&&"function"==typeof R.ownKeys?R.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var NumberIsNaN=Number.isNaN||function(e){return e!=e};function EventEmitter(){EventEmitter.init.call(this)}EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._eventsCount=0,EventEmitter.prototype._maxListeners=void 0;var defaultMaxListeners=10;function checkListener(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function _getMaxListeners(e){return void 0===e._maxListeners?EventEmitter.defaultMaxListeners:e._maxListeners}function _addListener(e,t,r,n){var s,i,o;if(checkListener(r),void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),i=e._events),o=i[t]),void 0===o)o=i[t]=r,++e._eventsCount;else if("function"==typeof o?o=i[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),(s=_getMaxListeners(e))>0&&o.length>s&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=o.length,ProcessEmitWarning(a)}return e}function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},s=onceWrapper.bind(n);return s.listener=r,n.wrapFn=s,s}function _listeners(e,t,r){var n=e._events;if(void 0===n)return[];var s=n[t];return void 0===s?[]:"function"==typeof s?r?[s.listener||s]:[s]:r?unwrapListeners(s):arrayClone(s,s.length)}function listenerCount(e){var t=this._events;if(void 0!==t){var r=t[e];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function arrayClone(e,t){for(var r=new Array(t),n=0;n0&&(i=t[0]),i instanceof Error)throw i;var o=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw o.context=i,o}var a=s[e];if(void 0===a)return!1;if("function"==typeof a)ReflectApply(a,this,t);else{var c=a.length,u=arrayClone(a,c);for(r=0;r=0;i--)if(r[i]===t||r[i].listener===t){o=r[i].listener,s=i;break}if(s<0)return this;0===s?r.shift():spliceOne(r,s),1===r.length&&(n[e]=r[0]),void 0!==n.removeListener&&this.emit("removeListener",e,o||t)}return this},EventEmitter.prototype.off=EventEmitter.prototype.removeListener,EventEmitter.prototype.removeAllListeners=function(e){var t,r,n;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[e]),this;if(0===arguments.length){var s,i=Object.keys(r);for(n=0;n=0;n--)this.removeListener(e,t[n]);return this},EventEmitter.prototype.listeners=function(e){return _listeners(this,e,!0)},EventEmitter.prototype.rawListeners=function(e){return _listeners(this,e,!1)},EventEmitter.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):listenerCount.call(e,t)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]}; \ No newline at end of file