From 19296436611ab465c882eefd89768416380720e3 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 20 May 2026 20:05:15 +0200 Subject: [PATCH 1/6] chore: update deps Signed-off-by: Thomas Citharel --- composer.lock | 6 +- package-lock.json | 1704 +++++++++++++++-------------- vendor-bin/cs-fixer/composer.lock | 40 +- vendor-bin/phpunit/composer.json | 2 +- vendor-bin/phpunit/composer.lock | 44 +- 5 files changed, 899 insertions(+), 897 deletions(-) diff --git a/composer.lock b/composer.lock index 6f4a476d..4541a99f 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d9858509bd58155774b81b599b0c449a", + "content-hash": "c45afe47e097842d9fbf27f47d83d6ff", "packages": [ { "name": "bamarni/composer-bin-plugin", @@ -71,11 +71,11 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">= 8.1 <=8.4" + "php": ">= 8.1 <=8.5" }, "platform-dev": {}, "platform-overrides": { "php": "8.1" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.9.0" } diff --git a/package-lock.json b/package-lock.json index fe1b7414..43d78c79 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,14 +34,14 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", + "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -154,9 +154,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", - "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz", + "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -185,17 +185,17 @@ } }, "node_modules/@cacheable/memory": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@cacheable/memory/-/memory-2.0.7.tgz", - "integrity": "sha512-RbxnxAMf89Tp1dLhXMS7ceft/PGsDl1Ip7T20z5nZ+pwIAsQ1p2izPjVG69oCLv/jfQ7HDPHTWK0c9rcAWXN3A==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@cacheable/memory/-/memory-2.0.9.tgz", + "integrity": "sha512-HdMx6DoGywB30vacDbBsITbIX4pgFqj1zsrV58jZBUw3klzkNoXhj7qOqAgledhxG7YZI5rBSJg7Zp8/VG0DuA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@cacheable/utils": "^2.3.3", - "@keyv/bigmap": "^1.3.0", - "hookified": "^1.14.0", - "keyv": "^5.5.5" + "@cacheable/utils": "^2.4.1", + "@keyv/bigmap": "^1.3.1", + "hookified": "^1.15.1", + "keyv": "^5.6.0" } }, "node_modules/@cacheable/memory/node_modules/@keyv/bigmap": { @@ -228,14 +228,14 @@ } }, "node_modules/@cacheable/utils": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.3.4.tgz", - "integrity": "sha512-knwKUJEYgIfwShABS1BX6JyJJTglAFcEU7EXqzTdiGCXur4voqkiJkdgZIQtWNFhynzDWERcTYv/sETMu3uJWA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.4.1.tgz", + "integrity": "sha512-eiFgzCbIneyMlLOmNG4g9xzF7Hv3Mga4LjxjcSC/ues6VYq2+gUbQI8JqNuw/ZM8tJIeIaBGpswAsqV2V7ApgA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "hashery": "^1.3.0", + "hashery": "^1.5.1", "keyv": "^5.6.0" } }, @@ -267,9 +267,9 @@ } }, "node_modules/@csstools/css-calc": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.0.tgz", - "integrity": "sha512-bR9e6o2BDB12jzN/gIbjHa5wLJ4UjD1CB9pM7ehlc0ddk6EBz+yYS1EV2MF55/HUxrHcB/hehAyt5vhsA3hx7w==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.1.tgz", + "integrity": "sha512-DtdHlgXh5ZkA43cwBcAm+huzgJiwx3ZTWVjBs94kwz2xKqSimDA3lBgCjphYgwgVUMWatSM0pDd8TILB1yrVVg==", "dev": true, "funding": [ { @@ -316,9 +316,9 @@ } }, "node_modules/@csstools/css-syntax-patches-for-csstree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.3.tgz", - "integrity": "sha512-SH60bMfrRCJF3morcdk57WklujF4Jr/EsQUzqkarfHXEFcAR1gg7fS/chAE922Sehgzc1/+Tz5H3Ypa1HiEKrg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.5.tgz", + "integrity": "sha512-oNjBvzLq2GPZtJphCjLqXow/cHySHSgtxvKZb7OqSZ/xHgw6NWNhfad+6AB9cLeVm6eA9d/qMll3JdEHjy6M+A==", "dev": true, "funding": [ { @@ -956,9 +956,9 @@ } }, "node_modules/@eslint/compat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-2.0.5.tgz", - "integrity": "sha512-IbHDbHJfkVNv6xjlET8AIVo/K1NQt7YT4Rp6ok/clyBGcpRx1l6gv0Rq3vBvYfPJIZt6ODf66Zq08FJNDpnzgg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-2.1.0.tgz", + "integrity": "sha512-LgaSCymEpw7tF53xvDw9SNsraPb1IBHxpdABIOM0hW8UAlP8znrjYtuxfR58FSJ3L9BhwD+FaPRFQpZq84Nh6g==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -993,9 +993,9 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.5.tgz", - "integrity": "sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz", + "integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==", "dev": true, "license": "Apache-2.0", "peer": true, @@ -1117,31 +1117,46 @@ "license": "MIT" }, "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", "dev": true, "license": "Apache-2.0", "peer": true, + "dependencies": { + "@humanfs/types": "^0.15.0" + }, "engines": { "node": ">=18.18.0" } }, "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", "dev": true, "license": "Apache-2.0", "peer": true, "dependencies": { - "@humanfs/core": "^0.19.1", + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", "@humanwhocodes/retry": "^0.4.0" }, "engines": { "node": ">=18.18.0" } }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=18.18.0" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -1242,24 +1257,23 @@ "license": "Apache-2.0" }, "node_modules/@microsoft/api-extractor": { - "version": "7.58.1", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.58.1.tgz", - "integrity": "sha512-kF3GFME4lN22O5zbnXk2RP4y/4PDQdps0xKiYTipMYprkwCmmpsWLZt/N2Fkbil540cSLfJX0BW7LkHzgMVUYg==", + "version": "7.58.7", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.58.7.tgz", + "integrity": "sha512-yK6OycD46gIzLRpj6ueVUWPk1ACSpkN1LBo05gY1qPTylbWyUCanXfH7+VgkI5LJrJoRSQR5F04XuCffCXLOBw==", "dev": true, "license": "MIT", "dependencies": { - "@microsoft/api-extractor-model": "7.33.5", + "@microsoft/api-extractor-model": "7.33.8", "@microsoft/tsdoc": "~0.16.0", "@microsoft/tsdoc-config": "~0.18.1", - "@rushstack/node-core-library": "5.21.0", - "@rushstack/rig-package": "0.7.2", - "@rushstack/terminal": "0.22.4", - "@rushstack/ts-command-line": "5.3.4", + "@rushstack/node-core-library": "5.23.1", + "@rushstack/rig-package": "0.7.3", + "@rushstack/terminal": "0.24.0", + "@rushstack/ts-command-line": "5.3.9", "diff": "~8.0.2", - "lodash": "~4.18.1", "minimatch": "10.2.3", "resolve": "~1.22.1", - "semver": "~7.5.4", + "semver": "~7.7.4", "source-map": "~0.6.1", "typescript": "5.9.3" }, @@ -1268,15 +1282,15 @@ } }, "node_modules/@microsoft/api-extractor-model": { - "version": "7.33.5", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.33.5.tgz", - "integrity": "sha512-Xh4dXuusndVQqVz4nEN9xOp0DyzsKxeD2FFJkSPg4arAjDSKPcy6cAc7CaeBPA7kF2wV1fuDlo2p/bNMpVr8yg==", + "version": "7.33.8", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.33.8.tgz", + "integrity": "sha512-aIcoQggPyer3B6Ze3usz0YWC/oBwUHfRH5ETUsr+oT2BRA6SfTJl7IKPcPZkX4UR+PohowzW4uMxsvjrn8vm+w==", "dev": true, "license": "MIT", "dependencies": { "@microsoft/tsdoc": "~0.16.0", "@microsoft/tsdoc-config": "~0.18.1", - "@rushstack/node-core-library": "5.21.0" + "@rushstack/node-core-library": "5.23.1" } }, "node_modules/@microsoft/api-extractor/node_modules/minimatch": { @@ -1296,14 +1310,11 @@ } }, "node_modules/@microsoft/api-extractor/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -1695,9 +1706,9 @@ } }, "node_modules/@nextcloud/vue": { - "version": "9.8.1", - "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-9.8.1.tgz", - "integrity": "sha512-/nMpkNos46GePx7NvreEM0Uf2QjkICaxzKlSqlRkI7ktDO9S/BNBnpDMeukuMTNbU/Z9XaItyEj6IND62g/Gxg==", + "version": "9.8.2", + "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-9.8.2.tgz", + "integrity": "sha512-bkU6E/AyMXzNHk4BnUCL8QGfpT0BZkS7fooKhClHa9VK8wR6Mml/yO6/1Nd+E71dEiDKJP8B7TsvEXgytZsVQQ==", "license": "AGPL-3.0-or-later", "dependencies": { "@ckpack/vue-color": "^1.6.0", @@ -1719,14 +1730,14 @@ "blurhash": "^2.0.5", "clone": "^2.1.2", "debounce": "^3.0.0", - "dompurify": "^3.4.3", + "dompurify": "^3.4.7", "emoji-mart-vue-fast": "^15.0.5", "escape-html": "^1.0.3", "floating-vue": "^5.2.2", - "focus-trap": "^8.2.0", + "focus-trap": "^8.2.1", "linkifyjs": "^4.3.3", "mdast-util-to-string": "^4.0.0", - "p-queue": "^9.2.0", + "p-queue": "^9.3.0", "rehype-external-links": "^3.0.0", "rehype-highlight": "^7.0.2", "rehype-react": "^8.0.0", @@ -1761,87 +1772,10 @@ "vue": "^3" } }, - "node_modules/@nextcloud/vue/node_modules/chokidar": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", - "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", - "license": "MIT", - "dependencies": { - "readdirp": "^5.0.0" - }, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@nextcloud/vue/node_modules/readdirp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", - "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", - "license": "MIT", - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@nextcloud/vue/node_modules/vue-router": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-5.1.0.tgz", - "integrity": "sha512-HAbiLzLEHQwxPgvsbOJDAwtavszEgLwri6XfyrsPECIFez8+59xc9LofWVdc/HEaSRT822lJ8H9Ns38VVond5g==", - "license": "MIT", - "dependencies": { - "@babel/generator": "^8.0.0-rc.4", - "@vue-macros/common": "^3.1.1", - "@vue/devtools-api": "^8.1.2", - "ast-walker-scope": "^0.9.0", - "chokidar": "^5.0.0", - "json5": "^2.2.3", - "local-pkg": "^1.1.2", - "magic-string": "^0.30.21", - "mlly": "^1.8.2", - "muggle-string": "^0.4.1", - "pathe": "^2.0.3", - "picomatch": "^4.0.3", - "scule": "^1.3.0", - "tinyglobby": "^0.2.16", - "unplugin": "^3.0.0", - "unplugin-utils": "^0.3.1", - "yaml": "^2.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/posva" - }, - "peerDependencies": { - "@pinia/colada": ">=0.21.2", - "@vue/compiler-sfc": "^3.5.34", - "pinia": "^3.0.4", - "vite": "^7.0.0 || ^8.0.0", - "vue": "^3.5.34" - }, - "peerDependenciesMeta": { - "@pinia/colada": { - "optional": true - }, - "@vue/compiler-sfc": { - "optional": true - }, - "pinia": { - "optional": true - }, - "vite": { - "optional": true - } - } - }, "node_modules/@nodable/entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.1.1.tgz", + "integrity": "sha512-Pig3HxDIoMgjdEH8OCf/dkcTmLFjJRjWuq8jSnklu284/TKOPibSRERmOykiwmyXTtv61mP+44f3GMx0tLAyjg==", "funding": [ { "type": "github", @@ -1895,7 +1829,6 @@ "version": "2.5.6", "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", - "dev": true, "hasInstallScript": true, "license": "MIT", "optional": true, @@ -1936,7 +1869,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1958,7 +1890,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1980,7 +1911,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2002,7 +1932,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2024,7 +1953,9 @@ "cpu": [ "arm" ], - "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2046,7 +1977,9 @@ "cpu": [ "arm" ], - "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2068,7 +2001,9 @@ "cpu": [ "arm64" ], - "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2090,7 +2025,9 @@ "cpu": [ "arm64" ], - "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2112,7 +2049,9 @@ "cpu": [ "x64" ], - "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2134,7 +2073,9 @@ "cpu": [ "x64" ], - "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2156,7 +2097,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2178,7 +2118,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2200,7 +2139,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2216,9 +2154,9 @@ } }, "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.2.tgz", - "integrity": "sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", "dev": true, "license": "MIT" }, @@ -2268,9 +2206,9 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", - "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.4.0.tgz", + "integrity": "sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==", "dev": true, "license": "MIT", "dependencies": { @@ -2291,13 +2229,12 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", - "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.61.1.tgz", + "integrity": "sha512-JnBB8MdXj45cajvTuO5FmPlvFVJRQgvrz1uSEl3NwqFnReAPGwb8EanbGi4z2nRaqLzjJSv5/JmycoTKlRZxHA==", "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2306,13 +2243,12 @@ "peer": true }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", - "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.61.1.tgz", + "integrity": "sha512-Jx2g7iSjw4AOT0HDPHM9RV3GNjRXwybWtSFZiZAYUTjUwjVrYIwq3kBf+LnhqJlzXFAqTAh2F7IGI+O568exPw==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2321,13 +2257,12 @@ "peer": true }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", - "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.61.1.tgz", + "integrity": "sha512-0F1L/Z3Eqv8mT2n3dCpeO8GcTvHvVqkP5/t6DMsn0KzhYVcg+s7Ncl5DS8qjKYEeio6Az0Gt6nyBORay5qIlCA==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2336,13 +2271,12 @@ "peer": true }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", - "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.61.1.tgz", + "integrity": "sha512-qLttcH871ujY4YcVfUSShhOw+CsoTatYz8gRbHO7Bb92QH059/P0y5do1KMs41fY0BpD2x4AJH/gID0zFiqVKQ==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2351,13 +2285,12 @@ "peer": true }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", - "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.61.1.tgz", + "integrity": "sha512-fUI4RapGE0Oh3mb8mgfvC1O2nU1RpDZUKnDQm3xB1Ipg7C2wTs5Kstz7G2uWK99a8S2yTMq8/P4uycwNa0nJyw==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2366,13 +2299,12 @@ "peer": true }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", - "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.61.1.tgz", + "integrity": "sha512-H5YrdvJaDtI/U9/emrD4b++xkvp3y/JvOe4rizHbxvkyMfRS/CiRYdji+Pl8D0brEaNFWUh1drQxgAGIl6Xudw==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2381,13 +2313,15 @@ "peer": true }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", - "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.61.1.tgz", + "integrity": "sha512-Q8CBCCQtDFrYtXoeUXSrnFXKOnyUhx6bz+SkL6A0E7V8kAiCJ5pamq1WtbfpVGhR5TSpXY6ak3avmDc5fHTyJA==", "cpu": [ "arm" ], - "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2396,13 +2330,15 @@ "peer": true }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", - "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.61.1.tgz", + "integrity": "sha512-nwnhk1581l0FBVellGcVCAT0Oi06onEA3WB53sf01VO3I0UPBkMH9sXONYME2K0ovXcNayJfNtHfm6mpJElatQ==", "cpu": [ "arm" ], - "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2411,13 +2347,15 @@ "peer": true }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", - "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.61.1.tgz", + "integrity": "sha512-x5Xr49hwt3hdW75UOZm3395YwwzPyauktslv29KpWL/T+vVAzoT3azLcTWv0eMciBNrx+DYjH4paehHoLpPvpg==", "cpu": [ "arm64" ], - "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2426,13 +2364,15 @@ "peer": true }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", - "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.61.1.tgz", + "integrity": "sha512-unMS3H73DpaoPyyEVPjGKleM/s0mkmsauTENpw4INQY8y4+IuLNjkueQ5QCtC0D3N38Y38yhAU8OoZ20S2Tm6w==", "cpu": [ "arm64" ], - "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2441,13 +2381,15 @@ "peer": true }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", - "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.61.1.tgz", + "integrity": "sha512-zNZzGRnAhwjFEYmvphJRV5XaQGjs62cCmeYYHUT//NbvEnHauw+I85nGG+SiVg5ld4GX8D1IbKIX+ozITQnhMQ==", "cpu": [ "loong64" ], - "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2456,13 +2398,15 @@ "peer": true }, "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", - "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.61.1.tgz", + "integrity": "sha512-LdpWGL8X209B2SIvWjqlc8VZgM6PKfontSerGepuldQmHYrAOtnMCXeJkxXGbC+PPZVOuu5czJo7fNV6aeW8rQ==", "cpu": [ "loong64" ], - "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2471,13 +2415,15 @@ "peer": true }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", - "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.61.1.tgz", + "integrity": "sha512-EC5kTtNaNGOmbMGqar8dvJy6y/hg99GAwjfBz++pxZhQATXGcRjd6c5en5wcbru0vkRmiMGsQKdMJOOf6sza4g==", "cpu": [ "ppc64" ], - "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2486,13 +2432,15 @@ "peer": true }, "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", - "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.61.1.tgz", + "integrity": "sha512-8hiwp6D4acEcNK78I4rP0/XtS1sknWIAMJBPdR4l6zUtyTm5KiTDr5bXmWt4foY7nAN7AThDHgkLIEZOWKbzWw==", "cpu": [ "ppc64" ], - "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2501,13 +2449,15 @@ "peer": true }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", - "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.61.1.tgz", + "integrity": "sha512-10dh/h/BqA7DuMPWSxkR8uks18FRwnwOEqr5zOTEl+NOwP/OMzKX8OFR/Of9xxDA7D5qef1Nzar5WDD2kCCr1g==", "cpu": [ "riscv64" ], - "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2516,13 +2466,15 @@ "peer": true }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", - "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.61.1.tgz", + "integrity": "sha512-YKJ5lg35DP17gcAOggnihe+APw9HLyj1Xn7gsmGumBJAUDa6NGXNixJzmkWLhcK9TOuuyQjdamzvJefkO7qHZQ==", "cpu": [ "riscv64" ], - "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2531,13 +2483,15 @@ "peer": true }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", - "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.61.1.tgz", + "integrity": "sha512-Mlil5G2Jj6a7B3LWGctg+XPL9vdXYuzCtNXfxOQ0nPjc2m6ueUktocPGH9bnAM0bNRKb/bAWTujUU7IJQdQA+g==", "cpu": [ "s390x" ], - "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2546,13 +2500,15 @@ "peer": true }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", - "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.61.1.tgz", + "integrity": "sha512-bVWIOIk6pV01p4CdUbPP7CJ/434z+OooYjDuFcR+44N35YvKUC66G8MGnvcWx5mWKW3g61J+t74l3Kj15Kwn2Q==", "cpu": [ "x64" ], - "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2561,13 +2517,15 @@ "peer": true }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", - "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.61.1.tgz", + "integrity": "sha512-qy5pBvZbqNFheBz61R1rzsezjm0J7O2oNGoWtGoY89SZYLUfxAJTBAqDChqAIdB4rCiIbi9nF7yZ83GnNiLwSw==", "cpu": [ "x64" ], - "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2576,13 +2534,12 @@ "peer": true }, "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", - "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.61.1.tgz", + "integrity": "sha512-E83TXjI4zm0+5f2qO+UOudaCYIhYwpJ5jq6YCZNIZ+6CbfhKrkAGezeiASBL9ElxAxFsRS9ZhESv8mfnj6TKeg==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2591,13 +2548,12 @@ "peer": true }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", - "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.61.1.tgz", + "integrity": "sha512-fbWnKqVkjrJN38vNe3ahkbk6iejS/3b0Nt7EEtPpE6RBacZcGXNKbzfHN3GUUlXOPghUg0j6XUGrtjX9z1sIvA==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2606,13 +2562,12 @@ "peer": true }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", - "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.61.1.tgz", + "integrity": "sha512-ArMl38iVAbk0New1ogihQNY6iphLi4ZaRsa037gUzv5yeKPY8TD3Dmy4x2RNC1VztU/uqm+G+/RwFrSka3Oy2g==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2621,13 +2576,12 @@ "peer": true }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", - "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.61.1.tgz", + "integrity": "sha512-0mYtjHS9ucAbcATycCNK9IGBk/cCe/ma7EmSLGZdsxnOA8cjRIyU04wDpVAD9NiOfLUR9KTxdiO53uOkherqjQ==", "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2636,13 +2590,12 @@ "peer": true }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", - "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.61.1.tgz", + "integrity": "sha512-gK1iCEPfpoSG9wfBihXxvBMi8ZfcWffYkEsC/Eih+iFENTaewvNcrEQ69lIOWYO5pePHKLHHO7nq5AILGO/HQQ==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2651,13 +2604,12 @@ "peer": true }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", - "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.61.1.tgz", + "integrity": "sha512-X+zaP2x+j4RXGfbp/seSoRHWnPxzApilDszisZxbYH5C/jTxFhCtDNdPGZb9lJyYPs24wGxruPF7Y+sIXt9Gzw==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2666,9 +2618,9 @@ "peer": true }, "node_modules/@rushstack/node-core-library": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.21.0.tgz", - "integrity": "sha512-LFzN+1lyWROit/P8Md6yxAth7lLYKn37oCKJHirEE2TQB25NDUM7bALf0ar+JAtwFfRCH+D+DGOA7DAzIi2r+g==", + "version": "5.23.1", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.23.1.tgz", + "integrity": "sha512-wlKmIKIYCKuCASbITvOxLZXepPbwXvrv7S6ig6XNWFchSyhL/E2txmVXspHY49Wu2dzf7nI27a2k/yV5BA3EiA==", "dev": true, "license": "MIT", "dependencies": { @@ -2679,7 +2631,7 @@ "import-lazy": "~4.0.0", "jju": "~1.4.0", "resolve": "~1.22.1", - "semver": "~7.5.4" + "semver": "~7.7.4" }, "peerDependencies": { "@types/node": "*" @@ -2730,14 +2682,11 @@ "license": "MIT" }, "node_modules/@rushstack/node-core-library/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -2761,24 +2710,24 @@ } }, "node_modules/@rushstack/rig-package": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.7.2.tgz", - "integrity": "sha512-9XbFWuqMYcHUso4mnETfhGVUSaADBRj6HUAAEYk50nMPn8WRICmBuCphycQGNB3duIR6EEZX3Xj3SYc2XiP+9A==", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.7.3.tgz", + "integrity": "sha512-aAA518n6wxxjCfnTAOjQnm7ngNE0FVHxHAw2pxKlIhxrMn0XQjGcXKF0oKWpjBgJOmsaJpVob/v+zr3zxgPWuA==", "dev": true, "license": "MIT", "dependencies": { - "resolve": "~1.22.1", - "strip-json-comments": "~3.1.1" + "jju": "~1.4.0", + "resolve": "~1.22.1" } }, "node_modules/@rushstack/terminal": { - "version": "0.22.4", - "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.22.4.tgz", - "integrity": "sha512-fhtLjnXCc/4WleVbVl6aoc7jcWnU6yqjS1S8WoaNREG3ycu/viZ9R/9QM7Y/b4CDvcXoiDyMNIay7JMwBptM3g==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.24.0.tgz", + "integrity": "sha512-8ZQS4MMaGsv27EXCBiH7WMPkRZrffeDoIevs6z9TM5dzqiY6+Hn4evfK/G+gvgBTjfvfkHIZPQQmalmI2sM4TQ==", "dev": true, "license": "MIT", "dependencies": { - "@rushstack/node-core-library": "5.21.0", + "@rushstack/node-core-library": "5.23.1", "@rushstack/problem-matcher": "0.2.1", "supports-color": "~8.1.1" }, @@ -2791,6 +2740,16 @@ } } }, + "node_modules/@rushstack/terminal/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/@rushstack/terminal/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -2808,13 +2767,13 @@ } }, "node_modules/@rushstack/ts-command-line": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-5.3.4.tgz", - "integrity": "sha512-MLkVKVEN6/2clKTrjN2B2KqKCuPxRwnNsWY7a+FCAq2EMdkj10cM8YgiBSMeGFfzM0mDMzargpHNnNzaBi9Whg==", + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-5.3.9.tgz", + "integrity": "sha512-GIHqU+sRGQ3LGWAZu1O+9Yh++qwtyNIIGuNbcWHJjBTm2qRez0cwINUHZ+pQLR8UuzZDcMajrDaNbUYoaL/XtQ==", "dev": true, "license": "MIT", "dependencies": { - "@rushstack/terminal": "0.22.4", + "@rushstack/terminal": "0.24.0", "@types/argparse": "1.0.38", "argparse": "~1.0.9", "string-argv": "~0.3.1" @@ -2892,9 +2851,9 @@ "license": "MIT" }, "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", "license": "MIT", "dependencies": { "@types/ms": "*" @@ -2915,9 +2874,9 @@ "peer": true }, "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", "license": "MIT" }, "node_modules/@types/estree-jsx": { @@ -3013,17 +2972,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.58.0.tgz", - "integrity": "sha512-RLkVSiNuUP1C2ROIWfqX+YcUfLaSnxGE/8M+Y57lopVwg9VTYYfhuz15Yf1IzCKgZj6/rIbYTmJCUSqr76r0Wg==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.60.1.tgz", + "integrity": "sha512-JQ4S5GB0tfjO8BuJ4fcX+HodkzJjYBV+7OJ+wLygaX7OGQ7FudyHL4NSCA6ob+w3Yn+5MkKIozOwQhXeM7opVg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.58.0", - "@typescript-eslint/type-utils": "8.58.0", - "@typescript-eslint/utils": "8.58.0", - "@typescript-eslint/visitor-keys": "8.58.0", + "@typescript-eslint/scope-manager": "8.60.1", + "@typescript-eslint/type-utils": "8.60.1", + "@typescript-eslint/utils": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -3036,7 +2995,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.58.0", + "@typescript-eslint/parser": "^8.60.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } @@ -3052,16 +3011,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.58.0.tgz", - "integrity": "sha512-rLoGZIf9afaRBYsPUMtvkDWykwXwUPL60HebR4JgTI8mxfFe2cQTu3AGitANp4b9B2QlVru6WzjgB2IzJKiCSA==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.60.1.tgz", + "integrity": "sha512-A0M6ua6H252bVjPvvtSgl2QA4+ET9S5Mtkb2GDyTxIhH/C4qDItT7RQNO5PhMC6NXGYXOR9dIalcDDgBKT7oFA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.58.0", - "@typescript-eslint/types": "8.58.0", - "@typescript-eslint/typescript-estree": "8.58.0", - "@typescript-eslint/visitor-keys": "8.58.0", + "@typescript-eslint/scope-manager": "8.60.1", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1", "debug": "^4.4.3" }, "engines": { @@ -3077,14 +3036,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.58.0.tgz", - "integrity": "sha512-8Q/wBPWLQP1j16NxoPNIKpDZFMaxl7yWIoqXWYeWO+Bbd2mjgvoF0dxP2jKZg5+x49rgKdf7Ck473M8PC3V9lg==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.60.1.tgz", + "integrity": "sha512-eXkTH2bxmXlqD1RnOPmLZ9ZM9D3VwSx04JOwBnP9RQ+yUA5a2Mu7SfW8uaV2Aon53NJzZlZYuX7tn91Izf+xaw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.58.0", - "@typescript-eslint/types": "^8.58.0", + "@typescript-eslint/tsconfig-utils": "^8.60.1", + "@typescript-eslint/types": "^8.60.1", "debug": "^4.4.3" }, "engines": { @@ -3099,14 +3058,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.58.0.tgz", - "integrity": "sha512-W1Lur1oF50FxSnNdGp3Vs6P+yBRSmZiw4IIjEeYxd8UQJwhUF0gDgDD/W/Tgmh73mxgEU3qX0Bzdl/NGuSPEpQ==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.60.1.tgz", + "integrity": "sha512-gvI5OQoptnxQnchOirukCuQ55svJSTuD/4k5+pC267xyBtYry748R9/c3tYUzb/iE6RZfllRz2lVulLCHkTm4w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.58.0", - "@typescript-eslint/visitor-keys": "8.58.0" + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3117,9 +3076,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.58.0.tgz", - "integrity": "sha512-doNSZEVJsWEu4htiVC+PR6NpM+pa+a4ClH9INRWOWCUzMst/VA9c4gXq92F8GUD1rwhNvRLkgjfYtFXegXQF7A==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.60.1.tgz", + "integrity": "sha512-nh8w4qAteiKuZu3pSSzG/yGKpw0OlkrKnzFmbVRenKaD4qc+7i1GrmZaLVkr8rk4uipiPGMOW4YsM6WmKZ5CvA==", "dev": true, "license": "MIT", "engines": { @@ -3134,15 +3093,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.58.0.tgz", - "integrity": "sha512-aGsCQImkDIqMyx1u4PrVlbi/krmDsQUs4zAcCV6M7yPcPev+RqVlndsJy9kJ8TLihW9TZ0kbDAzctpLn5o+lOg==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.60.1.tgz", + "integrity": "sha512-sdwTrpjosW7ANQYJ39ZBF1ZyEMEGVB2UsikrserVM/30a/F1dTLnu9bGxEdosugyu5caigjLrR2qiD11asjI1A==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.58.0", - "@typescript-eslint/typescript-estree": "8.58.0", - "@typescript-eslint/utils": "8.58.0", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1", + "@typescript-eslint/utils": "8.60.1", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -3159,9 +3118,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.58.0.tgz", - "integrity": "sha512-O9CjxypDT89fbHxRfETNoAnHj/i6IpRK0CvbVN3qibxlLdo5p5hcLmUuCCrHMpxiWSwKyI8mCP7qRNYuOJ0Uww==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.60.1.tgz", + "integrity": "sha512-4h0tY8ppCkdCzcrl2YM5M3my0xsE1Tf8om3owEu5oPWmXwkKRmk0j0LGDzYBGUcAlesEbxBhazqu/K4cu3Ug7w==", "dev": true, "license": "MIT", "engines": { @@ -3173,16 +3132,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.58.0.tgz", - "integrity": "sha512-7vv5UWbHqew/dvs+D3e1RvLv1v2eeZ9txRHPnEEBUgSNLx5ghdzjHa0sgLWYVKssH+lYmV0JaWdoubo0ncGYLA==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.60.1.tgz", + "integrity": "sha512-alpRkfG8hlVE5kdJW2GkfgDgXxold3e8e4l6EnmhRmRLbekgAPCCGDVD++sABy9FcgPFroq+uFcCSM1vR57Cew==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.58.0", - "@typescript-eslint/tsconfig-utils": "8.58.0", - "@typescript-eslint/types": "8.58.0", - "@typescript-eslint/visitor-keys": "8.58.0", + "@typescript-eslint/project-service": "8.60.1", + "@typescript-eslint/tsconfig-utils": "8.60.1", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -3201,16 +3160,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.58.0.tgz", - "integrity": "sha512-RfeSqcFeHMHlAWzt4TBjWOAtoW9lnsAGiP3GbaX9uVgTYYrMbVnGONEfUCiSss+xMHFl+eHZiipmA8WkQ7FuNA==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.60.1.tgz", + "integrity": "sha512-h2MPBLoNtjc3qZWfY3Tl51yPorQ2McHn8pJfcMNTcIvrrZrr90Ykffit0yjrPFWQcRcUxzH20+6OcVdW4yHtUg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.58.0", - "@typescript-eslint/types": "8.58.0", - "@typescript-eslint/typescript-estree": "8.58.0" + "@typescript-eslint/scope-manager": "8.60.1", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3225,13 +3184,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.58.0.tgz", - "integrity": "sha512-XJ9UD9+bbDo4a4epraTwG3TsNPeiB9aShrUneAVXy8q4LuwowN+qu89/6ByLMINqvIMeI9H9hOHQtg/ijrYXzQ==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.60.1.tgz", + "integrity": "sha512-EbGRQg4FhrmwLodl+t3JNAnXHWVr9Vp+Zl1QBZVPY4ByfkzIT8cX3K6QWODHtkIZqqJVEWvhHSx3v5PDHsaQag==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.58.0", + "@typescript-eslint/types": "8.60.1", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -3256,25 +3215,25 @@ } }, "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz", + "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==", "license": "ISC" }, "node_modules/@vitejs/plugin-vue": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.4.tgz", - "integrity": "sha512-uM5iXipgYIn13UUQCZNdWkYk+sysBeA97d5mHsAoAt1u/wpN3+zxOmsVJWosuzX+IMGRzeYUNytztrYznboIkQ==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.7.tgz", + "integrity": "sha512-km+p+XdSz9Sxm5rqUbqcSfZYaAniKxWBj1KURl+Jr7UaPvvX7BmaWMdP69I5rrFDeQGyxAG7NXdc57vz+snhWg==", "dev": true, "license": "MIT", "dependencies": { - "@rolldown/pluginutils": "1.0.0-rc.2" + "@rolldown/pluginutils": "^1.0.1" }, "engines": { "node": "^20.19.0 || >=22.12.0" }, "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "vue": "^3.2.25" } }, @@ -3459,14 +3418,31 @@ } } }, + "node_modules/@vue/language-core/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/language-core/node_modules/brace-expansion": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/@vue/language-core/node_modules/minimatch": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.7.tgz", - "integrity": "sha512-MOwgjc8tfrpn5QQEvjijjmDVtMw2oL88ugTevzxQnzRLm6l3fVEF2gzU0kYeYYKD8C66+IdGX6peJ4MyUlUnPg==", + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^2.0.2" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -3632,10 +3608,22 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, "license": "MIT", "peer": true, @@ -3669,9 +3657,9 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", "dev": true, "license": "MIT", "dependencies": { @@ -3771,9 +3759,9 @@ } }, "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true, "license": "MIT" }, @@ -3858,13 +3846,14 @@ } }, "node_modules/axios": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.16.0.tgz", - "integrity": "sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.17.0.tgz", + "integrity": "sha512-J8SwNxprqqpbfenehxWYXE7CW+wM1BB4w3+N+g+/Wx40xM4rsLrfPmHHxSWIxJLYDgSY/HqlFPIYb2/S3rxafw==", "license": "MIT", "dependencies": { "follow-redirects": "^1.16.0", "form-data": "^4.0.5", + "https-proxy-agent": "^5.0.1", "proxy-from-env": "^2.1.0" } }, @@ -3916,13 +3905,16 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.9.19", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", - "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "version": "2.10.33", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.33.tgz", + "integrity": "sha512-bA6+tcSLpz2tIEdDXZPpPTIuxBcC4+w6SieaYyfigIa4h8GlFxbA17v22Vx3JUtuZQj9SgOsnbK+aTBzyDyEuw==", "dev": true, "license": "Apache-2.0", "bin": { - "baseline-browser-mapping": "dist/cli.js" + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/birpc": { @@ -3941,9 +3933,9 @@ "license": "MIT" }, "node_modules/bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.3.tgz", + "integrity": "sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==", "dev": true, "license": "MIT" }, @@ -4054,13 +4046,13 @@ } }, "node_modules/browserify-sign": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.5.tgz", - "integrity": "sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==", + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.6.tgz", + "integrity": "sha512-sd+Q65fjlWCYWtZKXiKfrUc8d+4jtp/8f0W2NkwzLtoW4bI6UDnWusLWIurHnmurW0XShIRxpwiOX4EoPtXUAg==", "dev": true, "license": "ISC", "dependencies": { - "bn.js": "^5.2.2", + "bn.js": "^5.2.3", "browserify-rsa": "^4.1.1", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", @@ -4132,9 +4124,9 @@ } }, "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", "dev": true, "funding": [ { @@ -4152,11 +4144,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" @@ -4230,18 +4222,18 @@ "license": "MIT" }, "node_modules/cacheable": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.3.2.tgz", - "integrity": "sha512-w+ZuRNmex9c1TR9RcsxbfTKCjSL0rh1WA5SABbrWprIHeNBdmyQLSYonlDy9gpD+63XT8DgZ/wNh1Smvc9WnJA==", + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.3.5.tgz", + "integrity": "sha512-EQfaKe09tl615iNvq/TBRWTFf1AKJNXYQSsMx0Z3EI0nA+pVsVPS8wJhnRlkbdacKPh1d0qVIhwTc2zsQNFEEg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@cacheable/memory": "^2.0.7", - "@cacheable/utils": "^2.3.3", + "@cacheable/memory": "^2.0.8", + "@cacheable/utils": "^2.4.1", "hookified": "^1.15.0", - "keyv": "^5.5.5", - "qified": "^0.6.0" + "keyv": "^5.6.0", + "qified": "^0.10.1" } }, "node_modules/cacheable/node_modules/keyv": { @@ -4256,15 +4248,15 @@ } }, "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", "set-function-length": "^1.2.2" }, "engines": { @@ -4323,9 +4315,9 @@ "optional": true }, "node_modules/caniuse-lite": { - "version": "1.0.30001769", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001769.tgz", - "integrity": "sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==", + "version": "1.0.30001793", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001793.tgz", + "integrity": "sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==", "dev": true, "funding": [ { @@ -4403,17 +4395,15 @@ } }, "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", "license": "MIT", - "peer": true, "dependencies": { - "readdirp": "^4.0.1" + "readdirp": "^5.0.0" }, "engines": { - "node": ">= 14.16.0" + "node": ">= 20.19.0" }, "funding": { "url": "https://paulmillr.com/funding/" @@ -4539,9 +4529,9 @@ "license": "MIT" }, "node_modules/core-js": { - "version": "3.48.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.48.0.tgz", - "integrity": "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==", + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.49.0.tgz", + "integrity": "sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg==", "hasInstallScript": true, "license": "MIT", "funding": { @@ -4550,9 +4540,9 @@ } }, "node_modules/core-js-compat": { - "version": "3.48.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.48.0.tgz", - "integrity": "sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==", + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.49.0.tgz", + "integrity": "sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==", "dev": true, "license": "MIT", "dependencies": { @@ -4610,9 +4600,9 @@ } }, "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true, "license": "MIT" }, @@ -4759,9 +4749,9 @@ } }, "node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -4906,7 +4896,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, "license": "Apache-2.0", "optional": true, "peer": true, @@ -4941,9 +4930,9 @@ } }, "node_modules/diff": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.3.tgz", - "integrity": "sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -4963,9 +4952,9 @@ } }, "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true, "license": "MIT" }, @@ -5030,9 +5019,9 @@ } }, "node_modules/dompurify": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.7.tgz", - "integrity": "sha512-2jBxDJY4RR06tQNy4w5FlFH7kfxsQZlufd0sbv+chfHCxeJwrFw2baUDsSwvBISD4K4RDbd0PTfy3uNXsR6siA==", + "version": "3.4.8", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.8.tgz", + "integrity": "sha512-yb1cEmaOum7wFvOCSQxyfgVlv5D47Rc30iZWoMpbDIWTnJ6grDDQyu2KFJzB2k7u0pMuJcQ1zphH//fFnw2tjQ==", "license": "(MPL-2.0 OR Apache-2.0)", "optionalDependencies": { "@types/trusted-types": "^2.0.7" @@ -5069,9 +5058,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.286", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", - "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "version": "1.5.367", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.367.tgz", + "integrity": "sha512-4Mk/mrynCNQ+atY40D3UpmhLWB6AHMbYMlIrPhHcMF6x0L7O0b052FCAsxw1LlaR++UFuNg3D/A6XCuGDa0guQ==", "dev": true, "license": "ISC" }, @@ -5092,9 +5081,9 @@ } }, "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true, "license": "MIT" }, @@ -5174,9 +5163,9 @@ } }, "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0" @@ -5272,19 +5261,19 @@ } }, "node_modules/eslint": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", - "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.4.1.tgz", + "integrity": "sha512-AyIKhnOBuOAdueD7RB3xB+YeAWScb9jHsJBgH2Hcde8InP5JYhqrRR6iTMHyTEwgENK54Cp44e4v8BwNhsuHuw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.4", - "@eslint/config-helpers": "^0.5.4", - "@eslint/core": "^1.2.0", - "@eslint/plugin-kit": "^0.7.0", + "@eslint/config-array": "^0.23.5", + "@eslint/config-helpers": "^0.6.0", + "@eslint/core": "^1.2.1", + "@eslint/plugin-kit": "^0.7.2", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", @@ -5345,9 +5334,9 @@ } }, "node_modules/eslint-plugin-antfu": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-antfu/-/eslint-plugin-antfu-3.2.2.tgz", - "integrity": "sha512-Qzixht2Dmd/pMbb5EnKqw2V8TiWHbotPlsORO8a+IzCLFwE0RxK8a9k4DCTFPzBwyxJzH+0m2Mn8IUGeGQkyUw==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-antfu/-/eslint-plugin-antfu-3.2.3.tgz", + "integrity": "sha512-U2fnz/H0gFPxpuC7QpaHa0Jv2AgCZ5hunp36SOP/yWo8yFzgvMh8X4pZ4uN4IKoqtBhk7G3HuVa93Urf51+sZg==", "dev": true, "license": "MIT", "funding": { @@ -5418,13 +5407,13 @@ } }, "node_modules/eslint-plugin-perfectionist": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-perfectionist/-/eslint-plugin-perfectionist-5.8.0.tgz", - "integrity": "sha512-k8uIptWIxkUclonCFGyDzgYs9NI+Qh0a7cUXS3L7IYZDEsjXuimFBVbxXPQQngWqMiaxJRwbtYB4smMGMqF+cw==", + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-perfectionist/-/eslint-plugin-perfectionist-5.9.0.tgz", + "integrity": "sha512-8TWzg02zmnBdZwCkWLi8jhzqXI+fE7Z/RwV8SL6xD45tJ8Bp3wGuYL2XtQgfe/Wd0eBqOUX+s6ey73IyszvKTA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "^8.58.0", + "@typescript-eslint/utils": "^8.58.2", "natural-orderby": "^5.0.0" }, "engines": { @@ -5435,9 +5424,9 @@ } }, "node_modules/eslint-plugin-vue": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-10.8.0.tgz", - "integrity": "sha512-f1J/tcbnrpgC8suPN5AtdJ5MQjuXbSU9pGRSSYAuF3SHoiYCOdEX6O22pLaRyLHXvDcOe+O5ENgc1owQ587agA==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-10.9.2.tgz", + "integrity": "sha512-4g7ZP3pYcuqd7Zp0pzUKcos0W+RkjBz4EGdhJ92FcYk6v03Ti/GK5NwjgsjxHK+98eXDbHeK7VtX1az7/8doZA==", "dev": true, "license": "MIT", "dependencies": { @@ -5455,7 +5444,7 @@ "@stylistic/eslint-plugin": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", "@typescript-eslint/parser": "^7.0.0 || ^8.0.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "vue-eslint-parser": "^10.0.0" + "vue-eslint-parser": "^10.3.0" }, "peerDependenciesMeta": { "@stylistic/eslint-plugin": { @@ -5500,9 +5489,9 @@ } }, "node_modules/eslint/node_modules/@eslint/plugin-kit": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz", - "integrity": "sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.2.tgz", + "integrity": "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==", "dev": true, "license": "Apache-2.0", "peer": true, @@ -5603,13 +5592,13 @@ } }, "node_modules/estree-toolkit": { - "version": "1.7.13", - "resolved": "https://registry.npmjs.org/estree-toolkit/-/estree-toolkit-1.7.13.tgz", - "integrity": "sha512-/fLCEcVBUgAtMkGXZHplPVyUv7wiSfsCGubBdM16n1iYCidPfyk1Kk1U0wAxLZADuA3z8k87DfVYXlBmHJeekg==", + "version": "1.7.14", + "resolved": "https://registry.npmjs.org/estree-toolkit/-/estree-toolkit-1.7.14.tgz", + "integrity": "sha512-UD46XPj9xCQ+5r+JRv1qdaJuWLbQaconfnFHWOc20ugbHzZSOO6/A+vye46arVxbOSr/KnzRzKfnp9SJ0IqaUw==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": ">=1.0.7", + "@types/estree": ">=1.0.8", "@types/estree-jsx": ">=1.0.5" } }, @@ -6021,9 +6010,9 @@ } }, "node_modules/fs-extra": { - "version": "11.3.4", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz", - "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.5.tgz", + "integrity": "sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==", "dev": true, "license": "MIT", "dependencies": { @@ -6039,7 +6028,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, "hasInstallScript": true, "license": "MIT", "optional": true, @@ -6190,9 +6178,9 @@ } }, "node_modules/globals": { - "version": "17.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-17.4.0.tgz", - "integrity": "sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==", + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.6.0.tgz", + "integrity": "sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==", "dev": true, "license": "MIT", "engines": { @@ -6263,13 +6251,17 @@ "license": "ISC" }, "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-5.0.1.tgz", + "integrity": "sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==", "dev": true, "license": "MIT", + "peer": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/has-property-descriptors": { @@ -6338,23 +6330,23 @@ } }, "node_modules/hashery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/hashery/-/hashery-1.4.0.tgz", - "integrity": "sha512-Wn2i1In6XFxl8Az55kkgnFRiAlIAushzh26PTjL2AKtQcEfXrcLa7Hn5QOWGZEf3LU057P9TwwZjFyxfS1VuvQ==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/hashery/-/hashery-1.5.1.tgz", + "integrity": "sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "hookified": "^1.14.0" + "hookified": "^1.15.0" }, "engines": { "node": ">=20" } }, "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -6541,6 +6533,19 @@ "dev": true, "license": "MIT" }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -6574,10 +6579,10 @@ } }, "node_modules/immutable": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", - "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", - "dev": true, + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.6.tgz", + "integrity": "sha512-q1swsS8K7L8usSHuOqF2TAoCCkonYz0SG38wLAggaa4Wml70zixIvt2ql4coQ2C2B3hTjltJry4r6bULwgAXLQ==", + "devOptional": true, "license": "MIT", "peer": true }, @@ -6734,13 +6739,13 @@ } }, "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.2" + "hasown": "^2.0.3" }, "engines": { "node": ">= 0.4" @@ -6763,7 +6768,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, + "devOptional": true, "license": "MIT", "peer": true, "engines": { @@ -6805,7 +6810,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, + "devOptional": true, "license": "MIT", "peer": true, "dependencies": { @@ -6981,10 +6986,20 @@ "peer": true }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", + "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], "license": "MIT", "peer": true, "dependencies": { @@ -7061,9 +7076,9 @@ } }, "node_modules/jsonfile": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", - "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", "dev": true, "license": "MIT", "dependencies": { @@ -7145,9 +7160,9 @@ "license": "MIT" }, "node_modules/local-pkg": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz", - "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.2.1.tgz", + "integrity": "sha512-++gUqRDEvcnN6Zhqrr+y/CkVEHhlrR96vZn3nZZPYzMcBUyBtTKzB9NadClFIsIVSsu+3i9tfk/erqy9kAmt7Q==", "license": "MIT", "dependencies": { "mlly": "^1.7.4", @@ -7217,19 +7232,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/magic-string": { "version": "0.30.21", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", @@ -7347,9 +7349,9 @@ } }, "node_modules/mdast-util-from-markdown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", - "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", + "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", @@ -8031,9 +8033,9 @@ } }, "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true, "license": "MIT" }, @@ -8184,7 +8186,6 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true, "license": "MIT", "optional": true, "peer": true @@ -8228,11 +8229,14 @@ } }, "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "version": "2.0.47", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.47.tgz", + "integrity": "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + } }, "node_modules/node-stdlib-browser": { "version": "1.3.1", @@ -8305,9 +8309,9 @@ } }, "node_modules/object-deep-merge": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/object-deep-merge/-/object-deep-merge-2.0.0.tgz", - "integrity": "sha512-3DC3UMpeffLTHiuXSy/UG4NOIYTLlY9u3V82+djSCLYClWobZiS4ivYzpIUWrRY/nfsJ8cWsKyG3QfyLePmhvg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object-deep-merge/-/object-deep-merge-2.0.1.tgz", + "integrity": "sha512-aKttDKcU3pyZqKcCkDhsMn70WmZFG2JGDQLP9EcLyTSIFQRCPWLAmBZRLJnrVUrhPG1jETEEbfdgbNtJf1LyMg==", "dev": true, "license": "MIT" }, @@ -8431,9 +8435,9 @@ } }, "node_modules/p-queue": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.2.0.tgz", - "integrity": "sha512-dWgLE8AH0HjQ9fe74pUkKkvzzYT18Inp4zra3lKHnnwqGvcfcUBrvF2EAVX+envufDNBOzpPq/IBUONDbI7+3g==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.3.0.tgz", + "integrity": "sha512-7NED7xhQ74Ngp4JP/2e0VZHp7vSWfJfqeiR92jPgxsz6m0Se4P03YoTKa9dDXyZ3r6P616gUXttrB6nnHYKang==", "license": "MIT", "dependencies": { "eventemitter3": "^5.0.4", @@ -8634,9 +8638,9 @@ "license": "MIT" }, "node_modules/pbkdf2": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.5.tgz", - "integrity": "sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.6.tgz", + "integrity": "sha512-BT6eelPB1EyGHo8pC0o9Bl6k6SYVhKO1jEbd3lcTrtr7XHdjP8BW1YpfCV3G9Kwkxgattk+S5q2/RvuttCsS1g==", "dev": true, "license": "MIT", "dependencies": { @@ -8645,7 +8649,7 @@ "ripemd160": "^2.0.3", "safe-buffer": "^5.2.1", "sha.js": "^2.4.12", - "to-buffer": "^1.2.1" + "to-buffer": "^1.2.2" }, "engines": { "node": ">= 0.10" @@ -8689,13 +8693,13 @@ } }, "node_modules/pkg-types": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz", - "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.1.tgz", + "integrity": "sha512-y+ichcgc2LrADuhLNAx8DFjVfgz91pRxfZdI3UDhxHvcVEZsenLO+7XaU5vOp0u/7V/wZ+plyuQxtrDlZJ+yeg==", "license": "MIT", "dependencies": { - "confbox": "^0.2.2", - "exsolve": "^1.0.7", + "confbox": "^0.2.4", + "exsolve": "^1.0.8", "pathe": "^2.0.3" } }, @@ -8866,9 +8870,9 @@ "license": "MIT" }, "node_modules/property-information": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", - "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", "license": "MIT", "funding": { "type": "github", @@ -8900,9 +8904,9 @@ } }, "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true, "license": "MIT" }, @@ -8918,19 +8922,27 @@ } }, "node_modules/qified": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/qified/-/qified-0.6.0.tgz", - "integrity": "sha512-tsSGN1x3h569ZSU1u6diwhltLyfUWDp3YbFHedapTmpBl0B3P6U3+Qptg7xu+v+1io1EwhdPyyRHYbEw0KN2FA==", + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/qified/-/qified-0.10.1.tgz", + "integrity": "sha512-+Owyggi9IxT1ePKGafcI87ubSmxol6smwJ+RAHDQlx9+9cPwFWDiKFFCPuWhr9ignlGpZ9vDQLw67N4dcTVFEA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "hookified": "^1.14.0" + "hookified": "^2.1.1" }, "engines": { "node": ">=20" } }, + "node_modules/qified/node_modules/hookified": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hookified/-/hookified-2.2.0.tgz", + "integrity": "sha512-p/LgFzRN5FeoD3DLS6bkUapeye6E4SI6yJs6KetENd18S+FBthqYq2amJUWpt5z0EQwwHemidjY5OqJGEKm5uA==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/qs": { "version": "6.15.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", @@ -9037,14 +9049,12 @@ } }, "node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "dev": true, + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", "license": "MIT", - "peer": true, "engines": { - "node": ">= 14.18.0" + "node": ">= 20.19.0" }, "funding": { "type": "individual", @@ -9190,12 +9200,13 @@ } }, "node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "version": "1.22.12", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", + "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", "dev": true, "license": "MIT", "dependencies": { + "es-errors": "^1.3.0", "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" @@ -9311,14 +9322,14 @@ "license": "MIT" }, "node_modules/rollup": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", - "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.61.1.tgz", + "integrity": "sha512-I4KW6iuRpuu2uHBLraZ1wNZe0DP7lnRha+VJ9tNaYVaVgKhW0aI3h4RYnoRPeql0flHm/Co55b7snEDcOfOJrA==", "devOptional": true, "license": "MIT", "peer": true, "dependencies": { - "@types/estree": "1.0.8" + "@types/estree": "1.0.9" }, "bin": { "rollup": "dist/bin/rollup" @@ -9328,31 +9339,31 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.59.0", - "@rollup/rollup-android-arm64": "4.59.0", - "@rollup/rollup-darwin-arm64": "4.59.0", - "@rollup/rollup-darwin-x64": "4.59.0", - "@rollup/rollup-freebsd-arm64": "4.59.0", - "@rollup/rollup-freebsd-x64": "4.59.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", - "@rollup/rollup-linux-arm-musleabihf": "4.59.0", - "@rollup/rollup-linux-arm64-gnu": "4.59.0", - "@rollup/rollup-linux-arm64-musl": "4.59.0", - "@rollup/rollup-linux-loong64-gnu": "4.59.0", - "@rollup/rollup-linux-loong64-musl": "4.59.0", - "@rollup/rollup-linux-ppc64-gnu": "4.59.0", - "@rollup/rollup-linux-ppc64-musl": "4.59.0", - "@rollup/rollup-linux-riscv64-gnu": "4.59.0", - "@rollup/rollup-linux-riscv64-musl": "4.59.0", - "@rollup/rollup-linux-s390x-gnu": "4.59.0", - "@rollup/rollup-linux-x64-gnu": "4.59.0", - "@rollup/rollup-linux-x64-musl": "4.59.0", - "@rollup/rollup-openbsd-x64": "4.59.0", - "@rollup/rollup-openharmony-arm64": "4.59.0", - "@rollup/rollup-win32-arm64-msvc": "4.59.0", - "@rollup/rollup-win32-ia32-msvc": "4.59.0", - "@rollup/rollup-win32-x64-gnu": "4.59.0", - "@rollup/rollup-win32-x64-msvc": "4.59.0", + "@rollup/rollup-android-arm-eabi": "4.61.1", + "@rollup/rollup-android-arm64": "4.61.1", + "@rollup/rollup-darwin-arm64": "4.61.1", + "@rollup/rollup-darwin-x64": "4.61.1", + "@rollup/rollup-freebsd-arm64": "4.61.1", + "@rollup/rollup-freebsd-x64": "4.61.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.61.1", + "@rollup/rollup-linux-arm-musleabihf": "4.61.1", + "@rollup/rollup-linux-arm64-gnu": "4.61.1", + "@rollup/rollup-linux-arm64-musl": "4.61.1", + "@rollup/rollup-linux-loong64-gnu": "4.61.1", + "@rollup/rollup-linux-loong64-musl": "4.61.1", + "@rollup/rollup-linux-ppc64-gnu": "4.61.1", + "@rollup/rollup-linux-ppc64-musl": "4.61.1", + "@rollup/rollup-linux-riscv64-gnu": "4.61.1", + "@rollup/rollup-linux-riscv64-musl": "4.61.1", + "@rollup/rollup-linux-s390x-gnu": "4.61.1", + "@rollup/rollup-linux-x64-gnu": "4.61.1", + "@rollup/rollup-linux-x64-musl": "4.61.1", + "@rollup/rollup-openbsd-x64": "4.61.1", + "@rollup/rollup-openharmony-arm64": "4.61.1", + "@rollup/rollup-win32-arm64-msvc": "4.61.1", + "@rollup/rollup-win32-ia32-msvc": "4.61.1", + "@rollup/rollup-win32-x64-gnu": "4.61.1", + "@rollup/rollup-win32-x64-msvc": "4.61.1", "fsevents": "~2.3.2" } }, @@ -9393,9 +9404,9 @@ } }, "node_modules/rollup-plugin-license": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-license/-/rollup-plugin-license-3.7.0.tgz", - "integrity": "sha512-RvvOIF+GH3fBR3wffgc/vmjQn6qOn72WjppWVDp/v+CLpT0BbcRBdSkPeeIOL6U5XccdYgSIMjUyXgxlKEEFcw==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-license/-/rollup-plugin-license-3.7.1.tgz", + "integrity": "sha512-FcGXUbAmPvRSLxjVdjp/r/MUtKBlttVQd+ApUyvKfREnsoAfAZA6Ic2fE1Tz4RL0f9XqEQU9UIRNUMdtQtliDw==", "dev": true, "license": "MIT", "dependencies": { @@ -9503,31 +9514,31 @@ } }, "node_modules/sass": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", - "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", - "dev": true, + "version": "1.100.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.100.0.tgz", + "integrity": "sha512-B5j0rYMlinhhOo9tjQebMVVn0TfyXAF+wB3b2ggZUuJ/is/Y+7+JGjirAMxHZ9Z3hIP98NPfamlAkBHa1lAaXQ==", + "devOptional": true, "license": "MIT", "peer": true, "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", + "chokidar": "^5.0.0", + "immutable": "^5.1.5", "source-map-js": ">=0.6.2 <2.0.0" }, "bin": { "sass": "sass.js" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.19.0" }, "optionalDependencies": { "@parcel/watcher": "^2.4.1" } }, "node_modules/sax": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", - "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", "license": "BlueOak-1.0.0", "engines": { "node": ">=11.0.0" @@ -9540,9 +9551,9 @@ "license": "MIT" }, "node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -9643,14 +9654,14 @@ } }, "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "object-inspect": "^1.13.4" }, "engines": { "node": ">= 0.4" @@ -9753,9 +9764,9 @@ "license": "MIT" }, "node_modules/sort-package-json": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-3.6.1.tgz", - "integrity": "sha512-Chgejw1+10p2D0U2tB7au1lHtz6TkFnxmvZktyBCRyV0GgmF6nl1IxXxAsPtJVsUyg/fo+BfCMAVVFUVRkAHrQ==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-3.7.1.tgz", + "integrity": "sha512-ssk1HG7whF8N/T1IsNAQrtHG5Cbdi0rAgRJZXYBr9hF5xaHnBNzUx/W6LcthEW7FhOwvZssbESZuO+GxssqAyA==", "dev": true, "license": "MIT", "dependencies": { @@ -9866,9 +9877,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", - "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", + "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==", "dev": true, "license": "CC0-1.0" }, @@ -9903,9 +9914,9 @@ } }, "node_modules/splitpanes": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/splitpanes/-/splitpanes-4.0.4.tgz", - "integrity": "sha512-RbysugZhjbCw5fgplvk3hOXr41stahQDtZhHVkhnnJI6H4wlGDhM2kIpbehy7v92duy9GnMa8zIhHigIV1TWtg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/splitpanes/-/splitpanes-4.1.2.tgz", + "integrity": "sha512-frNchoCv7w0nMQEuaDGgMGMU6jv3NhN6bBGQVfCNgwJdVcYaRmi1dwYDjp7SifAoUFdiQjBRB254LJNidzo15Q==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/antoniandre" @@ -10014,19 +10025,6 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/striptags": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/striptags/-/striptags-3.2.0.tgz", @@ -10046,9 +10044,9 @@ "license": "MIT" }, "node_modules/strtok3": { - "version": "10.3.4", - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.4.tgz", - "integrity": "sha512-KIy5nylvC5le1OdaaoCJ07L+8iQzJHGH6pWDuzS+d07Cu7n1MZ2x26P8ZKIWfbK02+XIL8Mp4RkWeqdUCrDMfg==", + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.5.tgz", + "integrity": "sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==", "license": "MIT", "dependencies": { "@tokenizer/token": "^0.3.0" @@ -10080,9 +10078,9 @@ } }, "node_modules/stylelint": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.11.0.tgz", - "integrity": "sha512-/3czzmbF9XdGWvReDF3Ex4R23Ajolo7j8RB2bFNEqk6Ht356nlpVV+G5bG2Qt8AW1ofJzXztBRDnAtd7cgowWA==", + "version": "17.12.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.12.0.tgz", + "integrity": "sha512-KIlzWXMHUvgfPUR0R7TK3H80yCIi0uoivUwf+6Az4yrHJD1Q3c1qIkh/H5Z0i/K3QXgtq/UMEkWyBUSUwnpnOg==", "dev": true, "funding": [ { @@ -10111,20 +10109,19 @@ "debug": "^4.4.3", "fast-glob": "^3.3.3", "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^11.1.2", + "file-entry-cache": "^11.1.3", "global-modules": "^2.0.0", "globby": "^16.2.0", "globjoin": "^0.1.4", "html-tags": "^5.1.0", "ignore": "^7.0.5", "import-meta-resolve": "^4.2.0", - "is-plain-object": "^5.0.0", "mathml-tag-names": "^4.0.0", "meow": "^14.1.0", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "picocolors": "^1.1.1", - "postcss": "^8.5.13", + "postcss": "^8.5.14", "postcss-safe-parser": "^7.0.1", "postcss-selector-parser": "^7.1.1", "postcss-value-parser": "^4.2.0", @@ -10232,17 +10229,20 @@ } }, "node_modules/stylelint-scss": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-7.0.0.tgz", - "integrity": "sha512-H88kCC+6Vtzj76NsC8rv6x/LW8slBzIbyeSjsKVlS+4qaEJoDrcJR4L+8JdrR2ORdTscrBzYWiiT2jq6leYR1Q==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-7.2.0.tgz", + "integrity": "sha512-6E79Bachv0Iz0gqRUZgdqdXCsiq26DWBWIBNHYtjTmAp3wJu6cp/I37VfW7BPntmh2puF3bY09XWl4HZGrLhzw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "css-tree": "^3.0.1", + "@csstools/css-calc": "^3.2.1", + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-syntax-patches-for-csstree": "^1.1.4", + "@csstools/css-tokenizer": "^4.0.0", + "css-tree": "^3.2.1", "is-plain-object": "^5.0.0", "known-css-properties": "^0.37.0", - "mdn-data": "^2.25.0", "postcss-media-query-parser": "^0.2.3", "postcss-resolve-nested-selector": "^0.1.6", "postcss-selector-parser": "^7.1.1", @@ -10269,26 +10269,26 @@ } }, "node_modules/stylelint/node_modules/file-entry-cache": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-11.1.2.tgz", - "integrity": "sha512-N2WFfK12gmrK1c1GXOqiAJ1tc5YE+R53zvQ+t5P8S5XhnmKYVB5eZEiLNZKDSmoG8wqqbF9EXYBBW/nef19log==", + "version": "11.1.3", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-11.1.3.tgz", + "integrity": "sha512-oMbq0PD6VIiIwMF6LIa7MEwd/l9huKwmqRKXqmrkqIZv8CvRbfowL+L0ryAl8h//HfAS0zS+4SbYoRyAoA6BJA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "flat-cache": "^6.1.20" + "flat-cache": "^6.1.22" } }, "node_modules/stylelint/node_modules/flat-cache": { - "version": "6.1.20", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.20.tgz", - "integrity": "sha512-AhHYqwvN62NVLp4lObVXGVluiABTHapoB57EyegZVmazN+hhGhLTn3uZbOofoTw4DSDvVCadzzyChXhOAvy8uQ==", + "version": "6.1.22", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.22.tgz", + "integrity": "sha512-N2dnzVJIphnNsjHcrxGW7DePckJ6haPrSFqpsBUhHYgwtKGVq4JrBGielEGD2fCVnsGm1zlBVZ8wGhkyuetgug==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "cacheable": "^2.3.2", - "flatted": "^3.3.3", + "cacheable": "^2.3.4", + "flatted": "^3.4.2", "hookified": "^1.15.0" } }, @@ -10345,6 +10345,20 @@ "postcss": "^8.4.31" } }, + "node_modules/supports-color": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", + "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, "node_modules/supports-hyperlinks": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-4.4.0.tgz", @@ -10363,34 +10377,6 @@ "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" } }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-5.0.1.tgz", - "integrity": "sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", - "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -10436,9 +10422,9 @@ } }, "node_modules/table/node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", "dev": true, "license": "MIT", "peer": true, @@ -10516,9 +10502,9 @@ } }, "node_modules/tinyglobby": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", - "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", "license": "MIT", "dependencies": { "fdir": "^6.5.0", @@ -10681,16 +10667,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.58.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.58.0.tgz", - "integrity": "sha512-e2TQzKfaI85fO+F3QywtX+tCTsu/D3WW5LVU6nz8hTFKFZ8yBJ6mSYRpXqdR3mFjPWmO0eWsTa5f+UpAOe/FMA==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.60.1.tgz", + "integrity": "sha512-6m5hkkRAp8lKvhVpcprAIn5KkehQEh+47oHH2VGnExEh7dhNxXlg6GPAOIu6TxbVQxhebrJDvjl3020ooiWCMA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.58.0", - "@typescript-eslint/parser": "8.58.0", - "@typescript-eslint/typescript-estree": "8.58.0", - "@typescript-eslint/utils": "8.58.0" + "@typescript-eslint/eslint-plugin": "8.60.1", + "@typescript-eslint/parser": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1", + "@typescript-eslint/utils": "8.60.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -10711,9 +10697,9 @@ "license": "MIT" }, "node_modules/ufo": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", - "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.4.tgz", + "integrity": "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==", "license": "MIT" }, "node_modules/unicorn-magic": { @@ -11016,9 +11002,9 @@ } }, "node_modules/vite": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.2.tgz", - "integrity": "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.5.tgz", + "integrity": "sha512-KuOaNhcnGFN2zIPGA7wRmzF+lJA1sea7rHq17aiJ++9lzY1WWG6Jpwqwe1KNbRVPIqHmr8GLYx7jbrQcN/7/ww==", "devOptional": true, "license": "MIT", "peer": true, @@ -11146,13 +11132,12 @@ } }, "node_modules/vite/node_modules/@esbuild/aix-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", - "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11164,13 +11149,12 @@ } }, "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", - "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11182,13 +11166,12 @@ } }, "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", - "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11200,13 +11183,12 @@ } }, "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", - "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11218,13 +11200,12 @@ } }, "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", - "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11236,13 +11217,12 @@ } }, "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", - "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11254,13 +11234,12 @@ } }, "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", - "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11272,13 +11251,12 @@ } }, "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", - "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11290,13 +11268,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", - "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11308,13 +11285,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", - "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11326,13 +11302,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", - "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11344,13 +11319,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", - "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11362,13 +11336,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", - "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", "cpu": [ "mips64el" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11380,13 +11353,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", - "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11398,13 +11370,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", - "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11416,13 +11387,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", - "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11434,13 +11404,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", - "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11452,13 +11421,12 @@ } }, "node_modules/vite/node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", - "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11470,13 +11438,12 @@ } }, "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", - "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11488,13 +11455,12 @@ } }, "node_modules/vite/node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", - "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11506,13 +11472,12 @@ } }, "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", - "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11524,13 +11489,12 @@ } }, "node_modules/vite/node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", - "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11542,13 +11506,12 @@ } }, "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", - "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11560,13 +11523,12 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", - "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11578,13 +11540,12 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", - "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11596,13 +11557,12 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", - "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -11614,9 +11574,9 @@ } }, "node_modules/vite/node_modules/esbuild": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", - "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", "devOptional": true, "hasInstallScript": true, "license": "MIT", @@ -11628,32 +11588,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.3", - "@esbuild/android-arm": "0.27.3", - "@esbuild/android-arm64": "0.27.3", - "@esbuild/android-x64": "0.27.3", - "@esbuild/darwin-arm64": "0.27.3", - "@esbuild/darwin-x64": "0.27.3", - "@esbuild/freebsd-arm64": "0.27.3", - "@esbuild/freebsd-x64": "0.27.3", - "@esbuild/linux-arm": "0.27.3", - "@esbuild/linux-arm64": "0.27.3", - "@esbuild/linux-ia32": "0.27.3", - "@esbuild/linux-loong64": "0.27.3", - "@esbuild/linux-mips64el": "0.27.3", - "@esbuild/linux-ppc64": "0.27.3", - "@esbuild/linux-riscv64": "0.27.3", - "@esbuild/linux-s390x": "0.27.3", - "@esbuild/linux-x64": "0.27.3", - "@esbuild/netbsd-arm64": "0.27.3", - "@esbuild/netbsd-x64": "0.27.3", - "@esbuild/openbsd-arm64": "0.27.3", - "@esbuild/openbsd-x64": "0.27.3", - "@esbuild/openharmony-arm64": "0.27.3", - "@esbuild/sunos-x64": "0.27.3", - "@esbuild/win32-arm64": "0.27.3", - "@esbuild/win32-ia32": "0.27.3", - "@esbuild/win32-x64": "0.27.3" + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" } }, "node_modules/vm-browserify": { @@ -11692,9 +11652,9 @@ } }, "node_modules/vue-eslint-parser": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-10.4.0.tgz", - "integrity": "sha512-Vxi9pJdbN3ZnVGLODVtZ7y4Y2kzAAE2Cm0CZ3ZDRvydVYxZ6VrnBhLikBsRS+dpwj4Jv4UCv21PTEwF5rQ9WXg==", + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-10.4.1.tgz", + "integrity": "sha512-Gk6gRDj0n/fkRa3C3l0bBheoBckUq/Rs0F/TvMWIS6nzzx67amAViMe9CkNgsP2tXyQONvGiHQESHwFtZ3aYDA==", "dev": true, "license": "MIT", "peer": true, @@ -11731,6 +11691,55 @@ "vue": "^3.0.0" } }, + "node_modules/vue-router": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-5.1.0.tgz", + "integrity": "sha512-HAbiLzLEHQwxPgvsbOJDAwtavszEgLwri6XfyrsPECIFez8+59xc9LofWVdc/HEaSRT822lJ8H9Ns38VVond5g==", + "license": "MIT", + "dependencies": { + "@babel/generator": "^8.0.0-rc.4", + "@vue-macros/common": "^3.1.1", + "@vue/devtools-api": "^8.1.2", + "ast-walker-scope": "^0.9.0", + "chokidar": "^5.0.0", + "json5": "^2.2.3", + "local-pkg": "^1.1.2", + "magic-string": "^0.30.21", + "mlly": "^1.8.2", + "muggle-string": "^0.4.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "scule": "^1.3.0", + "tinyglobby": "^0.2.16", + "unplugin": "^3.0.0", + "unplugin-utils": "^0.3.1", + "yaml": "^2.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@pinia/colada": ">=0.21.2", + "@vue/compiler-sfc": "^3.5.34", + "pinia": "^3.0.4", + "vite": "^7.0.0 || ^8.0.0", + "vue": "^3.5.34" + }, + "peerDependenciesMeta": { + "@pinia/colada": { + "optional": true + }, + "@vue/compiler-sfc": { + "optional": true + }, + "pinia": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, "node_modules/vue-template-compiler": { "version": "2.7.16", "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", @@ -11841,14 +11850,14 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.20", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", - "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.21.tgz", + "integrity": "sha512-zbRA8cVm6io/d5W8uIe2hblzN76/Wm3v/yiythQvr+dpBWeqhPSWIDNj4zOyHi4zKbMK6DN34Xsr9jPHJERAEw==", "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", + "call-bind": "^1.0.9", "call-bound": "^1.0.4", "for-each": "^0.3.5", "get-proto": "^1.0.1", @@ -11922,13 +11931,6 @@ "node": ">=0.4" } }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, "node_modules/yaml": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", diff --git a/vendor-bin/cs-fixer/composer.lock b/vendor-bin/cs-fixer/composer.lock index dc08de58..8d9299ab 100644 --- a/vendor-bin/cs-fixer/composer.lock +++ b/vendor-bin/cs-fixer/composer.lock @@ -9,16 +9,16 @@ "packages-dev": [ { "name": "kubawerlos/php-cs-fixer-custom-fixers", - "version": "v3.36.0", + "version": "v3.37.2", "source": { "type": "git", "url": "https://github.com/kubawerlos/php-cs-fixer-custom-fixers.git", - "reference": "e1f97f6463f0b2a22e0dd320948a04132ff9c501" + "reference": "678df979ce743466b42ddb6eea46b3f4c9a7bade" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/kubawerlos/php-cs-fixer-custom-fixers/zipball/e1f97f6463f0b2a22e0dd320948a04132ff9c501", - "reference": "e1f97f6463f0b2a22e0dd320948a04132ff9c501", + "url": "https://api.github.com/repos/kubawerlos/php-cs-fixer-custom-fixers/zipball/678df979ce743466b42ddb6eea46b3f4c9a7bade", + "reference": "678df979ce743466b42ddb6eea46b3f4c9a7bade", "shasum": "" }, "require": { @@ -28,7 +28,7 @@ "php": "^7.4 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^9.6.24 || ^10.5.51 || ^11.5.44" + "phpunit/phpunit": "^9.6.34 || ^10.5.63 || ^11.5.55" }, "type": "library", "autoload": { @@ -49,7 +49,7 @@ "description": "A set of custom fixers for PHP CS Fixer", "support": { "issues": "https://github.com/kubawerlos/php-cs-fixer-custom-fixers/issues", - "source": "https://github.com/kubawerlos/php-cs-fixer-custom-fixers/tree/v3.36.0" + "source": "https://github.com/kubawerlos/php-cs-fixer-custom-fixers/tree/v3.37.2" }, "funding": [ { @@ -57,20 +57,20 @@ "type": "github" } ], - "time": "2026-01-31T07:02:11+00:00" + "time": "2026-05-12T16:22:19+00:00" }, { "name": "nextcloud/coding-standard", - "version": "v1.4.0", + "version": "v1.5.0", "source": { "type": "git", "url": "https://github.com/nextcloud/coding-standard.git", - "reference": "8e06808c1423e9208d63d1bd205b9a38bd400011" + "reference": "80547a93236fbb9c783e05f0f0899043851b0dba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nextcloud/coding-standard/zipball/8e06808c1423e9208d63d1bd205b9a38bd400011", - "reference": "8e06808c1423e9208d63d1bd205b9a38bd400011", + "url": "https://api.github.com/repos/nextcloud/coding-standard/zipball/80547a93236fbb9c783e05f0f0899043851b0dba", + "reference": "80547a93236fbb9c783e05f0f0899043851b0dba", "shasum": "" }, "require": { @@ -100,22 +100,22 @@ ], "support": { "issues": "https://github.com/nextcloud/coding-standard/issues", - "source": "https://github.com/nextcloud/coding-standard/tree/v1.4.0" + "source": "https://github.com/nextcloud/coding-standard/tree/v1.5.0" }, - "time": "2025-06-19T12:27:27+00:00" + "time": "2026-05-19T18:30:09+00:00" }, { "name": "php-cs-fixer/shim", - "version": "v3.94.0", + "version": "v3.95.2", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/shim.git", - "reference": "bf90113c2d4f349a639df42045d36e78ffc25c9a" + "reference": "319bd80c8db64ab5f7b79a19178299045bdb9957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/shim/zipball/bf90113c2d4f349a639df42045d36e78ffc25c9a", - "reference": "bf90113c2d4f349a639df42045d36e78ffc25c9a", + "url": "https://api.github.com/repos/PHP-CS-Fixer/shim/zipball/319bd80c8db64ab5f7b79a19178299045bdb9957", + "reference": "319bd80c8db64ab5f7b79a19178299045bdb9957", "shasum": "" }, "require": { @@ -152,9 +152,9 @@ "description": "A tool to automatically fix PHP code style", "support": { "issues": "https://github.com/PHP-CS-Fixer/shim/issues", - "source": "https://github.com/PHP-CS-Fixer/shim/tree/v3.94.0" + "source": "https://github.com/PHP-CS-Fixer/shim/tree/v3.95.2" }, - "time": "2026-02-11T16:45:46+00:00" + "time": "2026-05-15T09:21:09+00:00" } ], "aliases": [], @@ -167,5 +167,5 @@ "platform-overrides": { "php": "8.1" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.9.0" } diff --git a/vendor-bin/phpunit/composer.json b/vendor-bin/phpunit/composer.json index 90ae1e1f..522b17fc 100644 --- a/vendor-bin/phpunit/composer.json +++ b/vendor-bin/phpunit/composer.json @@ -6,6 +6,6 @@ "sort-packages": true }, "require-dev": { - "christophwurst/nextcloud_testing": "^1.0.1" + "christophwurst/nextcloud_testing": "^2.0.0" } } diff --git a/vendor-bin/phpunit/composer.lock b/vendor-bin/phpunit/composer.lock index e4997302..a3d36183 100644 --- a/vendor-bin/phpunit/composer.lock +++ b/vendor-bin/phpunit/composer.lock @@ -4,27 +4,27 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "80f37e422246e1448b83f967586f3e5c", + "content-hash": "a77e29f1fa7de4637d8c89ec1afa30d0", "packages": [], "packages-dev": [ { "name": "christophwurst/nextcloud_testing", - "version": "v1.1.0", + "version": "v2.0.0", "source": { "type": "git", "url": "https://github.com/ChristophWurst/nextcloud_testing.git", - "reference": "3bca2106eb406effc713162f0dc9e71fc735a8b3" + "reference": "7087e2bb880c0ff34ba3b894b734627916daa4b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ChristophWurst/nextcloud_testing/zipball/3bca2106eb406effc713162f0dc9e71fc735a8b3", - "reference": "3bca2106eb406effc713162f0dc9e71fc735a8b3", + "url": "https://api.github.com/repos/ChristophWurst/nextcloud_testing/zipball/7087e2bb880c0ff34ba3b894b734627916daa4b3", + "reference": "7087e2bb880c0ff34ba3b894b734627916daa4b3", "shasum": "" }, "require": { - "php": "^7.4|^8.0", + "php": "^8.0", "php-webdriver/webdriver": "^1.9", - "phpunit/phpunit": "^8.0|^9.0|^10.0" + "phpunit/phpunit": "^9.0|^10.0|^11.0" }, "type": "library", "autoload": { @@ -45,9 +45,9 @@ "description": "Simple and fast unit and integration testing framework for Nextcloud, based on PHPUnit", "support": { "issues": "https://github.com/ChristophWurst/nextcloud_testing/issues", - "source": "https://github.com/ChristophWurst/nextcloud_testing/tree/v1.1.0" + "source": "https://github.com/ChristophWurst/nextcloud_testing/tree/v2.0.0" }, - "time": "2025-12-10T13:23:32+00:00" + "time": "2026-03-19T12:31:27+00:00" }, { "name": "myclabs/deep-copy", @@ -1736,16 +1736,16 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.33.0", + "version": "v1.37.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" + "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6a21eb99c6973357967f6ce3708cd55a6bec6315", + "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315", "shasum": "" }, "require": { @@ -1797,7 +1797,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.37.0" }, "funding": [ { @@ -1817,20 +1817,20 @@ "type": "tidelift" } ], - "time": "2024-12-23T08:48:59+00:00" + "time": "2026-04-10T17:25:58+00:00" }, { "name": "symfony/process", - "version": "v6.4.33", + "version": "v6.4.39", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "c46e854e79b52d07666e43924a20cb6dc546644e" + "reference": "6c93071cb8c91dce5a41960d125e019e64ef6cb5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/c46e854e79b52d07666e43924a20cb6dc546644e", - "reference": "c46e854e79b52d07666e43924a20cb6dc546644e", + "url": "https://api.github.com/repos/symfony/process/zipball/6c93071cb8c91dce5a41960d125e019e64ef6cb5", + "reference": "6c93071cb8c91dce5a41960d125e019e64ef6cb5", "shasum": "" }, "require": { @@ -1862,7 +1862,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.33" + "source": "https://github.com/symfony/process/tree/v6.4.39" }, "funding": [ { @@ -1882,7 +1882,7 @@ "type": "tidelift" } ], - "time": "2026-01-23T16:02:12+00:00" + "time": "2026-05-11T16:53:15+00:00" }, { "name": "theseer/tokenizer", @@ -1945,5 +1945,5 @@ "platform-overrides": { "php": "8.1" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.9.0" } From 48dc8fab48b0cb9478e975ed2fd4e60659eb1311 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 20 May 2026 20:08:09 +0200 Subject: [PATCH 2/6] refactor: modernize code a bit Use attributes instead of annotations, use contructor promotion, migrate to IAppConfig and modernize tests Signed-off-by: Thomas Citharel --- composer.json | 2 +- lib/AppInfo/Application.php | 2 + lib/BackgroundJob/ExpireRegistrations.php | 28 ++-- lib/Capabilities.php | 1 + lib/Controller/RegisterController.php | 104 +++++-------- lib/Controller/SettingsController.php | 71 ++++----- lib/Db/RegistrationMapper.php | 4 + lib/Listener/UserEnabledListener.php | 4 + .../Version0005Date20200710135953.php | 6 +- lib/RegistrationLoginOption.php | 5 +- lib/Service/LoginFlowService.php | 2 +- lib/Service/MailService.php | 10 +- lib/Service/RegistrationService.php | 59 ++++---- lib/Settings/RegistrationSettings.php | 39 ++--- lib/Settings/RegistrationSettingsSection.php | 8 +- .../BackgroundJob/ExpireRegistrationsTest.php | 23 ++- .../Controller/RegisterControllerTest.php | 46 +++--- .../Unit/Service/RegistrationServiceTest.php | 142 ++++++++++-------- 18 files changed, 269 insertions(+), 287 deletions(-) diff --git a/composer.json b/composer.json index 0e0db70b..1f200cc2 100644 --- a/composer.json +++ b/composer.json @@ -11,7 +11,7 @@ "scripts": { "cs:check": "php-cs-fixer fix --dry-run --diff", "cs:fix": "php-cs-fixer fix", - "lint": "find . -name \\*.php -not -path './vendor/*' -not -path './build/*' -not -path './tests/integration/vendor/*' -print0 | xargs -0 -n1 php -l", + "lint": "find . -name \\*.php -not -path './vendor/*' -not -path './vendor-bin/*' -not -path './build/*' -not -path './tests/integration/vendor/*' -print0 | xargs -0 -n1 php -l", "test:unit": "vendor/bin/phpunit -c tests/phpunit.xml", "post-install-cmd": [ "@composer bin all install --ansi" diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php index e56d1fe5..7c841ee8 100644 --- a/lib/AppInfo/Application.php +++ b/lib/AppInfo/Application.php @@ -24,12 +24,14 @@ public function __construct() { parent::__construct(self::APP_ID); } + #[\Override] public function register(IRegistrationContext $context): void { $context->registerAlternativeLogin(RegistrationLoginOption::class); $context->registerCapability(Capabilities::class); $context->registerEventListener(UserChangedEvent::class, UserEnabledListener::class); } + #[\Override] public function boot(IBootContext $context): void { } } diff --git a/lib/BackgroundJob/ExpireRegistrations.php b/lib/BackgroundJob/ExpireRegistrations.php index 395d69b0..7ab7dd48 100644 --- a/lib/BackgroundJob/ExpireRegistrations.php +++ b/lib/BackgroundJob/ExpireRegistrations.php @@ -8,30 +8,26 @@ namespace OCA\Registration\BackgroundJob; -use OCA\Registration\AppInfo\Application; use OCA\Registration\Db\RegistrationMapper; +use OCP\AppFramework\Services\IAppConfig; use OCP\AppFramework\Utility\ITimeFactory; use OCP\BackgroundJob\TimedJob; -use OCP\IConfig; class ExpireRegistrations extends TimedJob { - protected RegistrationMapper $registrationMapper; - protected IConfig $config; - - public function __construct(ITimeFactory $time, - RegistrationMapper $registrationMapper, - IConfig $config) { + public function __construct( + ITimeFactory $time, + protected RegistrationMapper $registrationMapper, + protected IAppConfig $config, + ) { parent::__construct($time); // Run once per day $this->setInterval(60 * 60 * 24); $this->setTimeSensitivity(self::TIME_INSENSITIVE); - - $this->config = $config; - $this->registrationMapper = $registrationMapper; } + #[\Override] public function run($argument): void { $expireDays = $this->getDuration(); $expireDate = $this->time->getDateTime(); @@ -42,12 +38,10 @@ public function run($argument): void { } private function getDuration(): int { - return max( - (int)$this->config->getAppValue( - Application::APP_ID, - 'expire_days', - '30' - ), + return max($this->config->getAppValueInt( + 'expire_days', + 30 + ), 1 ); } diff --git a/lib/Capabilities.php b/lib/Capabilities.php index 2253e20e..6ed5b809 100644 --- a/lib/Capabilities.php +++ b/lib/Capabilities.php @@ -17,6 +17,7 @@ public function __construct( ) { } + #[\Override] public function getCapabilities(): array { return [ 'registration' diff --git a/lib/Controller/RegisterController.php b/lib/Controller/RegisterController.php index 6f79a67d..997c3a5a 100644 --- a/lib/Controller/RegisterController.php +++ b/lib/Controller/RegisterController.php @@ -12,7 +12,6 @@ namespace OCA\Registration\Controller; use Exception; -use OCA\Registration\AppInfo\Application; use OCA\Registration\Db\Registration; use OCA\Registration\Events\PassedFormEvent; use OCA\Registration\Events\ShowFormEvent; @@ -24,63 +23,48 @@ use OCP\AppFramework\Controller; use OCP\AppFramework\Db\DoesNotExistException; use OCP\AppFramework\Http; +use OCP\AppFramework\Http\Attribute\AnonRateLimit; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; +use OCP\AppFramework\Http\Attribute\PublicPage; +use OCP\AppFramework\Http\Attribute\UseSession; use OCP\AppFramework\Http\ContentSecurityPolicy; use OCP\AppFramework\Http\RedirectResponse; use OCP\AppFramework\Http\Response; use OCP\AppFramework\Http\StandaloneTemplateResponse; use OCP\AppFramework\Http\TemplateResponse; +use OCP\AppFramework\Services\IAppConfig; use OCP\AppFramework\Services\IInitialState; use OCP\EventDispatcher\IEventDispatcher; use OCP\HintException; -use OCP\IConfig; use OCP\IL10N; use OCP\IRequest; use OCP\IURLGenerator; use OCP\Util; class RegisterController extends Controller { - private IL10N $l10n; - private IURLGenerator $urlGenerator; - private IConfig $config; - private RegistrationService $registrationService; - private MailService $mailService; - private LoginFlowService $loginFlowService; - private IEventDispatcher $eventDispatcher; - private IInitialState $initialState; - public function __construct( string $appName, IRequest $request, - IL10N $l10n, - IURLGenerator $urlGenerator, - IConfig $config, - RegistrationService $registrationService, - LoginFlowService $loginFlowService, - MailService $mailService, - IEventDispatcher $eventDispatcher, - IInitialState $initialState, + private IL10N $l10n, + private IURLGenerator $urlGenerator, + private IAppConfig $config, + private RegistrationService $registrationService, + private LoginFlowService $loginFlowService, + private MailService $mailService, + private IEventDispatcher $eventDispatcher, + private IInitialState $initialState, ) { parent::__construct($appName, $request); - $this->l10n = $l10n; - $this->urlGenerator = $urlGenerator; - $this->config = $config; - $this->registrationService = $registrationService; - $this->loginFlowService = $loginFlowService; - $this->mailService = $mailService; - $this->eventDispatcher = $eventDispatcher; - $this->initialState = $initialState; } - /** - * @NoCSRFRequired - * @PublicPage - */ + #[PublicPage] + #[NoCSRFRequired] public function showEmailForm(string $email = '', string $message = ''): TemplateResponse { $emailHint = ''; $domainList = $this->registrationService->getAllowedDomains(); - if (!empty($domainList) && $this->config->getAppValue(Application::APP_ID, 'show_domains', 'no') === 'yes') { + if (!empty($domainList) && $this->config->getAppValueBool('show_domains')) { $domainList = implode(', ', $domainList); - if ($this->config->getAppValue(Application::APP_ID, 'domains_is_blocklist', 'no') === 'yes') { + if ($this->config->getAppValueBool('domains_is_blocklist')) { $emailHint = $this->l10n->t( 'Registration is not allowed with the following domains: %s', [$domainList] @@ -97,17 +81,15 @@ public function showEmailForm(string $email = '', string $message = ''): Templat $this->initialState->provideInitialState('email', $email); $this->initialState->provideInitialState('message', $message ?: $emailHint); - $this->initialState->provideInitialState('emailIsOptional', $this->config->getAppValue($this->appName, 'email_is_optional', 'no') === 'yes'); - $this->initialState->provideInitialState('disableEmailVerification', $this->config->getAppValue($this->appName, 'disable_email_verification', 'no') === 'yes'); + $this->initialState->provideInitialState('emailIsOptional', $this->config->getAppValueBool('email_is_optional')); + $this->initialState->provideInitialState('disableEmailVerification', $this->config->getAppValueBool('disable_email_verification')); $this->initialState->provideInitialState('isLoginFlow', $this->loginFlowService->isUsingLoginFlow()); $this->initialState->provideInitialState('loginFormLink', $this->urlGenerator->linkToRoute('core.login.showLoginForm')); return new TemplateResponse('registration', 'form/email', [], 'guest'); } - /** - * @PublicPage - * @AnonRateThrottle(limit=5, period=300) - */ + #[PublicPage] + #[AnonRateLimit(limit: 5, period: 300)] public function submitEmailForm(string $email): Response { $validateFormEvent = new ValidateFormEvent(ValidateFormEvent::STEP_EMAIL); $this->eventDispatcher->dispatchTyped($validateFormEvent); @@ -132,7 +114,7 @@ public function submitEmailForm(string $email): Response { $registration = $this->registrationService->createRegistration($email); } - if ($this->config->getAppValue($this->appName, 'disable_email_verification', 'no') === 'yes') { + if ($this->config->getAppValueBool('disable_email_verification')) { $this->eventDispatcher->dispatchTyped(new PassedFormEvent(PassedFormEvent::STEP_EMAIL, $registration->getClientSecret())); return new RedirectResponse( @@ -164,10 +146,8 @@ public function submitEmailForm(string $email): Response { ); } - /** - * @NoCSRFRequired - * @PublicPage - */ + #[PublicPage] + #[NoCSRFRequired] public function showVerificationForm(string $secret, string $message = ''): TemplateResponse { try { $this->registrationService->getRegistrationForSecret($secret); @@ -183,13 +163,13 @@ public function showVerificationForm(string $secret, string $message = ''): Temp } /** - * @PublicPage - * @AnonRateThrottle(limit=5, period=300) * * @param string $secret * @param string $token * @return Response */ + #[PublicPage] + #[AnonRateLimit(limit: 5, period: 300)] public function submitVerificationForm(string $secret, string $token): Response { try { $registration = $this->registrationService->getRegistrationForSecret($secret); @@ -224,10 +204,8 @@ public function submitVerificationForm(string $secret, string $token): Response ); } - /** - * @NoCSRFRequired - * @PublicPage - */ + #[PublicPage] + #[NoCSRFRequired] public function showUserForm(string $secret, string $token, string $loginname = '', string $fullname = '', string $phone = '', string $password = '', string $message = ''): TemplateResponse { try { $registration = $this->validateSecretAndToken($secret, $token); @@ -235,20 +213,20 @@ public function showUserForm(string $secret, string $token, string $loginname = return $this->validateSecretAndTokenErrorPage(); } - $additional_hint = $this->config->getAppValue('registration', 'additional_hint'); + $additional_hint = $this->config->getAppValueString('additional_hint'); $this->eventDispatcher->dispatchTyped(new ShowFormEvent(ShowFormEvent::STEP_USER, $secret)); $this->initialState->provideInitialState('email', $registration->getEmail()); - $this->initialState->provideInitialState('emailIsLogin', $this->config->getAppValue('registration', 'email_is_login', 'no') === 'yes'); - $this->initialState->provideInitialState('emailIsOptional', $this->config->getAppValue('registration', 'email_is_optional', 'no') === 'yes'); + $this->initialState->provideInitialState('emailIsLogin', $this->config->getAppValueBool('email_is_login')); + $this->initialState->provideInitialState('emailIsOptional', $this->config->getAppValueBool('email_is_optional')); $this->initialState->provideInitialState('loginname', $loginname); $this->initialState->provideInitialState('fullname', $fullname); - $this->initialState->provideInitialState('showFullname', $this->config->getAppValue('registration', 'show_fullname', 'no') === 'yes'); - $this->initialState->provideInitialState('enforceFullname', $this->config->getAppValue('registration', 'enforce_fullname', 'no') === 'yes'); + $this->initialState->provideInitialState('showFullname', $this->config->getAppValueBool('show_fullname')); + $this->initialState->provideInitialState('enforceFullname', $this->config->getAppValueBool('enforce_fullname')); $this->initialState->provideInitialState('phone', $phone); - $this->initialState->provideInitialState('showPhone', $this->config->getAppValue('registration', 'show_phone', 'no') === 'yes'); - $this->initialState->provideInitialState('enforcePhone', $this->config->getAppValue('registration', 'enforce_phone', 'no') === 'yes'); + $this->initialState->provideInitialState('showPhone', $this->config->getAppValueBool('show_phone')); + $this->initialState->provideInitialState('enforcePhone', $this->config->getAppValueBool('enforce_phone')); $this->initialState->provideInitialState('message', $message); $this->initialState->provideInitialState('password', $password); $this->initialState->provideInitialState('additionalHint', $additional_hint); @@ -265,13 +243,9 @@ public function showUserForm(string $secret, string $token, string $loginname = return $response; } - /** - * @PublicPage - * @UseSession - * @AnonRateThrottle(limit=5, period=300) - * - * @return RedirectResponse|TemplateResponse - */ + #[PublicPage] + #[UseSession] + #[AnonRateLimit(limit: 5, period: 300)] public function submitUserForm(string $secret, string $token, string $loginname, string $fullname, string $phone, string $password): Response { try { $registration = $this->validateSecretAndToken($secret, $token); @@ -279,7 +253,7 @@ public function submitUserForm(string $secret, string $token, string $loginname, return $this->validateSecretAndTokenErrorPage(); } - if ($this->config->getAppValue('registration', 'email_is_login', 'no') === 'yes') { + if ($this->config->getAppValueBool('email_is_login')) { $loginname = $registration->getEmail(); } diff --git a/lib/Controller/SettingsController.php b/lib/Controller/SettingsController.php index 5134d5b3..a32ba5da 100644 --- a/lib/Controller/SettingsController.php +++ b/lib/Controller/SettingsController.php @@ -12,7 +12,7 @@ use OCP\AppFramework\Controller; use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataResponse; -use OCP\IConfig; +use OCP\AppFramework\Services\IAppConfig; use OCP\IGroup; use OCP\IGroupManager; use OCP\IL10N; @@ -20,22 +20,17 @@ class SettingsController extends Controller { - private IL10N $l10n; - private IConfig $config; - private IGroupManager $groupmanager; - /** @var string */ - protected $appName; - - public function __construct($appName, IRequest $request, IL10N $l10n, IConfig $config, IGroupManager $groupmanager) { + public function __construct( + protected $appName, + IRequest $request, + private IL10N $l10n, + private IAppConfig $config, + private IGroupManager $groupManager, + ) { parent::__construct($appName, $request); - $this->l10n = $l10n; - $this->config = $config; - $this->groupmanager = $groupmanager; - $this->appName = $appName; } /** - * @AdminRequired * * @param string|null $registered_user_group all newly registered user will be put in this group * @param string $allowed_domains Registrations are only allowed for E-Mailadresses with these domains @@ -65,28 +60,28 @@ public function admin(?string $registered_user_group, ?bool $show_domains, ?bool $disable_email_verification): DataResponse { // handle domains - if (($allowed_domains === '') || ($allowed_domains === null)) { - $this->config->deleteAppValue($this->appName, 'allowed_domains'); + if ($allowed_domains === '') { + $this->config->deleteAppValue('allowed_domains'); } else { - $this->config->setAppValue($this->appName, 'allowed_domains', $allowed_domains); + $this->config->setAppValueString('allowed_domains', $allowed_domains); } // handle hints - if (($additional_hint === '') || ($additional_hint === null)) { - $this->config->deleteAppValue($this->appName, 'additional_hint'); + if ($additional_hint === '') { + $this->config->deleteAppValue('additional_hint'); } else { - $this->config->setAppValue($this->appName, 'additional_hint', $additional_hint); + $this->config->setAppValueString('additional_hint', $additional_hint); } - if (($email_verification_hint === '') || ($email_verification_hint === null)) { - $this->config->deleteAppValue($this->appName, 'email_verification_hint'); + if ($email_verification_hint === '') { + $this->config->deleteAppValue('email_verification_hint'); } else { - $this->config->setAppValue($this->appName, 'email_verification_hint', $email_verification_hint); + $this->config->setAppValueString('email_verification_hint', $email_verification_hint); } //handle regex - if (($username_policy_regex === '') || ($username_policy_regex === null)) { - $this->config->deleteAppValue($this->appName, 'username_policy_regex'); + if ($username_policy_regex === '') { + $this->config->deleteAppValue('username_policy_regex'); } elseif ((@preg_match($username_policy_regex, null) === false)) { // validate regex return new DataResponse([ @@ -96,22 +91,22 @@ public function admin(?string $registered_user_group, 'status' => 'error', ], Http::STATUS_BAD_REQUEST); } else { - $this->config->setAppValue($this->appName, 'username_policy_regex', $username_policy_regex); + $this->config->setAppValueString('username_policy_regex', $username_policy_regex); } - $this->config->setAppValue($this->appName, 'admin_approval_required', $admin_approval_required ? 'yes' : 'no'); - $this->config->setAppValue($this->appName, 'email_is_optional', $email_is_optional ? 'yes' : 'no'); - $this->config->setAppValue($this->appName, 'email_is_login', !$email_is_optional && $email_is_login ? 'yes' : 'no'); - $this->config->setAppValue($this->appName, 'show_fullname', $show_fullname ? 'yes' : 'no'); - $this->config->setAppValue($this->appName, 'enforce_fullname', $enforce_fullname ? 'yes' : 'no'); - $this->config->setAppValue($this->appName, 'show_phone', $show_phone ? 'yes' : 'no'); - $this->config->setAppValue($this->appName, 'enforce_phone', $enforce_phone ? 'yes' : 'no'); - $this->config->setAppValue($this->appName, 'domains_is_blocklist', $domains_is_blocklist ? 'yes' : 'no'); - $this->config->setAppValue($this->appName, 'show_domains', $show_domains ? 'yes' : 'no'); - $this->config->setAppValue($this->appName, 'disable_email_verification', $disable_email_verification ? 'yes' : 'no'); + $this->config->setAppValueBool('admin_approval_required', $admin_approval_required); + $this->config->setAppValueBool('email_is_optional', $email_is_optional); + $this->config->setAppValueBool('email_is_login', !$email_is_optional && $email_is_login); + $this->config->setAppValueBool('show_fullname', $show_fullname); + $this->config->setAppValueBool('enforce_fullname', $enforce_fullname); + $this->config->setAppValueBool('show_phone', $show_phone); + $this->config->setAppValueBool('enforce_phone', $enforce_phone); + $this->config->setAppValueBool('domains_is_blocklist', $domains_is_blocklist); + $this->config->setAppValueBool('show_domains', $show_domains); + $this->config->setAppValueBool('disable_email_verification', $disable_email_verification); if ($registered_user_group === null) { - $this->config->deleteAppValue($this->appName, 'registered_user_group'); + $this->config->deleteAppValue('registered_user_group'); return new DataResponse([ 'data' => [ 'message' => $this->l10n->t('Saved'), @@ -120,9 +115,9 @@ public function admin(?string $registered_user_group, ]); } - $group = $this->groupmanager->get($registered_user_group); + $group = $this->groupManager->get($registered_user_group); if ($group instanceof IGroup) { - $this->config->setAppValue($this->appName, 'registered_user_group', $registered_user_group); + $this->config->setAppValueString('registered_user_group', $registered_user_group); return new DataResponse([ 'data' => [ 'message' => $this->l10n->t('Saved'), diff --git a/lib/Db/RegistrationMapper.php b/lib/Db/RegistrationMapper.php index c1849196..ed45c75c 100644 --- a/lib/Db/RegistrationMapper.php +++ b/lib/Db/RegistrationMapper.php @@ -17,6 +17,9 @@ use OCP\IDBConnection; use OCP\Security\ISecureRandom; +/** + * @template-extends QBMapper + */ class RegistrationMapper extends QBMapper { public function __construct( IDBConnection $db, @@ -87,6 +90,7 @@ public function find(string $email): Entity { * @return Registration * @throws Exception */ + #[\Override] public function insert(Entity $entity): Entity { $entity->setRequested(date('Y-m-d H:i:s')); return parent::insert($entity); diff --git a/lib/Listener/UserEnabledListener.php b/lib/Listener/UserEnabledListener.php index 76c7b2a2..a8ed24ed 100644 --- a/lib/Listener/UserEnabledListener.php +++ b/lib/Listener/UserEnabledListener.php @@ -15,6 +15,9 @@ use OCP\IConfig; use OCP\User\Events\UserChangedEvent; +/** + * @template-implements IEventListener + */ class UserEnabledListener implements IEventListener { public function __construct( @@ -23,6 +26,7 @@ public function __construct( ) { } + #[\Override] public function handle(Event $event): void { if (!($event instanceof UserChangedEvent)) { // Unrelated diff --git a/lib/Migration/Version0005Date20200710135953.php b/lib/Migration/Version0005Date20200710135953.php index 84bf555e..b5110f5a 100644 --- a/lib/Migration/Version0005Date20200710135953.php +++ b/lib/Migration/Version0005Date20200710135953.php @@ -5,11 +5,12 @@ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ + namespace OCA\Registration\Migration; use Closure; -use Doctrine\DBAL\Types\Types; use OCP\DB\ISchemaWrapper; +use OCP\DB\Types; use OCP\Migration\IOutput; use OCP\Migration\SimpleMigrationStep; @@ -20,6 +21,7 @@ class Version0005Date20200710135953 extends SimpleMigrationStep { * @param array $options * @return null|ISchemaWrapper */ + #[\Override] public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) { /** @var ISchemaWrapper $schema */ $schema = $schemaClosure(); @@ -53,7 +55,7 @@ public function changeSchema(IOutput $output, Closure $schemaClosure, array $opt $table->addColumn('client_secret', Types::STRING, [ 'notnull' => false, ]); - $table->addColumn('requested', Types::DATETIME_MUTABLE, [ + $table->addColumn('requested', Types::DATETIME, [ 'notnull' => true, ]); $table->setPrimaryKey(['id']); diff --git a/lib/RegistrationLoginOption.php b/lib/RegistrationLoginOption.php index 6befb766..eb595795 100644 --- a/lib/RegistrationLoginOption.php +++ b/lib/RegistrationLoginOption.php @@ -17,22 +17,25 @@ class RegistrationLoginOption implements IAlternativeLogin { public function __construct( protected IURLGenerator $url, protected IL10N $l, - protected \OC_Defaults $theming, ) { } + #[\Override] public function getLabel(): string { return $this->l->t('Register'); } + #[\Override] public function getLink(): string { return $this->url->linkToRoute('registration.register.showEmailForm'); } + #[\Override] public function getClass(): string { return 'register-button'; } + #[\Override] public function load(): void { } } diff --git a/lib/Service/LoginFlowService.php b/lib/Service/LoginFlowService.php index d144c34b..af723b9b 100644 --- a/lib/Service/LoginFlowService.php +++ b/lib/Service/LoginFlowService.php @@ -41,7 +41,7 @@ public function isUsingLoginFlow(?int $version = null): bool { public function tryLoginFlowV1(): ?Response { /** @var ClientFlowLoginController $controller */ $container = \OC::$server->getRegisteredAppContainer('core'); - $controller = $container->query(ClientFlowLoginController::class); + $controller = $container->get(ClientFlowLoginController::class); return $controller->generateAppPassword( $this->session->get(ClientFlowLoginController::STATE_NAME) ); diff --git a/lib/Service/MailService.php b/lib/Service/MailService.php index e77070cf..5b3369c0 100644 --- a/lib/Service/MailService.php +++ b/lib/Service/MailService.php @@ -10,12 +10,13 @@ namespace OCA\Registration\Service; use OCA\Registration\Db\Registration; +use OCP\AppFramework\Services\IAppConfig; use OCP\Defaults; -use OCP\IConfig; use OCP\IGroupManager; use OCP\IL10N; use OCP\IURLGenerator; use OCP\L10N\IFactory as IL10NFactory; +use OCP\Mail\IEmailValidator; use OCP\Mail\IMailer; use OCP\Util; use Psr\Log\LoggerInterface; @@ -25,11 +26,12 @@ class MailService { public function __construct( private IURLGenerator $urlGenerator, private IMailer $mailer, + private IEmailValidator $emailValidator, private Defaults $defaults, private IL10N $l10n, private IL10NFactory $l10nFactory, private IGroupManager $groupManager, - private IConfig $config, + private IAppConfig $config, private LoginFlowService $loginFlowService, private LoggerInterface $logger, ) { @@ -40,7 +42,7 @@ public function __construct( * @throws RegistrationException */ public function validateEmail(string $email): void { - if (!$this->mailer->validateMailAddress($email)) { + if (!$this->emailValidator->isValid($email)) { throw new RegistrationException($this->l10n->t('The email address you entered is not valid')); } } @@ -79,7 +81,7 @@ public function sendTokenByMail(Registration $registration): void { } // if the parameter is set through the settings panel add to body text - $email_verification_hint = $this->config->getAppValue('registration', 'email_verification_hint'); + $email_verification_hint = $this->config->getAppValueString('email_verification_hint'); if (!empty($email_verification_hint)) { $template->addBodyText($email_verification_hint); }; diff --git a/lib/Service/RegistrationService.php b/lib/Service/RegistrationService.php index 7c85f25f..94ebe847 100644 --- a/lib/Service/RegistrationService.php +++ b/lib/Service/RegistrationService.php @@ -10,8 +10,6 @@ namespace OCA\Registration\Service; use InvalidArgumentException; -use libphonenumber\NumberParseException; -use libphonenumber\PhoneNumber; use libphonenumber\PhoneNumberUtil; use OC\Authentication\Exceptions\PasswordlessTokenException; use OC\Authentication\Token\IProvider; @@ -21,11 +19,13 @@ use OCA\Settings\Mailer\NewUserMailHelper; use OCP\Accounts\IAccountManager; use OCP\AppFramework\Db\DoesNotExistException; +use OCP\AppFramework\Services\IAppConfig; use OCP\Authentication\Exceptions\InvalidTokenException; use OCP\Authentication\Token\IToken; use OCP\IConfig; use OCP\IGroupManager; use OCP\IL10N; +use OCP\IPhoneNumberUtil; use OCP\IRequest; use OCP\ISession; use OCP\IURLGenerator; @@ -48,6 +48,7 @@ public function __construct( private IUserManager $userManager, private IAccountManager $accountManager, private IConfig $config, + private IAppConfig $appConfig, private IGroupManager $groupManager, private ISecureRandom $random, private IUserSession $userSession, @@ -56,6 +57,7 @@ public function __construct( private ISession $session, private IProvider $tokenProvider, private ICrypto $crypto, + private IPhoneNumberUtil $phoneNumberUtil, ) { } @@ -92,7 +94,7 @@ public function createRegistration(string $email, string $username = '', string * @throws RegistrationException */ public function validateEmail(string $email): void { - if ($email === '' && $this->config->getAppValue($this->appName, 'email_is_optional', 'no') === 'yes') { + if ($email === '' && $this->appConfig->getAppValueBool('email_is_optional')) { return; } @@ -114,20 +116,22 @@ public function validateEmail(string $email): void { ); } - if (empty($this->getAllowedDomains())) { + $allowedDomains = $this->getAllowedDomains(); + + if (empty($allowedDomains)) { return; } - $emailIsInDomainList = $this->checkAllowedDomains($email); - $blockDomains = $this->config->getAppValue(Application::APP_ID, 'domains_is_blocklist', 'no') === 'yes'; - $showDomains = $this->config->getAppValue(Application::APP_ID, 'show_domains', 'no') === 'yes'; + $emailIsInDomainList = $this->checkAllowedDomains($email, $allowedDomains); + $blockDomains = $this->appConfig->getAppValueBool('domains_is_blocklist'); + $showDomains = $this->appConfig->getAppValueBool('show_domains'); if (!$blockDomains && !$emailIsInDomainList) { if ($showDomains) { throw new RegistrationException( $this->l10n->t( 'Registration is only allowed with the following domains: %s', - [implode(', ', $this->getAllowedDomains())] + [implode(', ', $allowedDomains)] ) ); } @@ -141,7 +145,7 @@ public function validateEmail(string $email): void { throw new RegistrationException( $this->l10n->t( 'Registration is not allowed with the following domains: %s', - [implode(', ', $this->getAllowedDomains())] + [implode(', ', $allowedDomains)] ) ); } @@ -170,7 +174,7 @@ public function validateUsername(string $username): void { throw new RegistrationException($this->l10n->t('Please provide a valid login name.')); } - $regex = $this->config->getAppValue($this->appName, 'username_policy_regex', ''); + $regex = $this->appConfig->getAppValueString('username_policy_regex'); if ($regex && preg_match($regex, $username) === 0) { throw new RegistrationException($this->l10n->t('Please provide a valid login name.')); } @@ -196,25 +200,15 @@ public function validatePhoneNumber(string $phone): void { $defaultRegion = 'EN'; } - $phoneUtil = PhoneNumberUtil::getInstance(); - try { - $phoneNumber = $phoneUtil->parse($phone, $defaultRegion); - if (!$phoneNumber instanceof PhoneNumber || !$phoneUtil->isValidNumber($phoneNumber)) { - throw new RegistrationException($this->l10n->t('The phone number is invalid.')); - } - } catch (NumberParseException $e) { + if ($this->phoneNumberUtil->convertToStandardFormat($phone, $defaultRegion) === null) { throw new RegistrationException($this->l10n->t('The phone number is invalid.')); } } /** * check if email domain is allowed - * - * @param string $email - * @return bool */ - public function checkAllowedDomains(string $email): bool { - $allowedDomains = $this->getAllowedDomains(); + public function checkAllowedDomains(string $email, array $allowedDomains): bool { if (!empty($allowedDomains)) { [,$mailDomain] = explode('@', strtolower($email), 2); @@ -247,7 +241,7 @@ public function checkAllowedDomains(string $email): bool { * @return string[] */ public function getAllowedDomains(): array { - $allowedDomains = $this->config->getAppValue($this->appName, 'allowed_domains', ''); + $allowedDomains = $this->appConfig->getAppValueString('allowed_domains'); $allowedDomains = explode(';', $allowedDomains); $allowedDomains = array_map('trim', $allowedDomains); $allowedDomains = array_filter($allowedDomains); @@ -278,16 +272,16 @@ public function createAccount(Registration $registration, ?string $loginName = n $this->validateUsername($loginName); - if ($this->config->getAppValue('registration', 'show_fullname', 'no') === 'yes' - && $this->config->getAppValue('registration', 'enforce_fullname', 'no') === 'yes') { + if ($this->appConfig->getAppValueBool('show_fullname') + && $this->appConfig->getAppValueBool('enforce_fullname')) { $this->validateDisplayname($fullName); } if (class_exists(PhoneNumberUtil::class) - && $this->config->getAppValue('registration', 'show_phone', 'no') === 'yes') { + && $this->appConfig->getAppValueBool('show_phone')) { if ($phone) { $this->validatePhoneNumber($phone); - } elseif ($this->config->getAppValue('registration', 'enforce_phone', 'no') === 'yes') { + } elseif ($this->appConfig->getAppValueBool('enforce_phone')) { throw new RegistrationException($this->l10n->t('Please provide a valid phone number.')); } } @@ -305,7 +299,6 @@ public function createAccount(Registration $registration, ?string $loginName = n } $userId = $user->getUID(); - // Set user email try { $user->setEMailAddress($registration->getEmail()); @@ -314,14 +307,14 @@ public function createAccount(Registration $registration, ?string $loginName = n } // Set display name - if ($fullName && $this->config->getAppValue('registration', 'show_fullname', 'no') === 'yes') { + if ($fullName && $this->appConfig->getAppValueBool('show_fullname')) { $user->setDisplayName($fullName); } // Set phone number in account data if (method_exists($this->accountManager, 'updateAccount') && $phone - && $this->config->getAppValue('registration', 'show_phone', 'no') === 'yes') { + && $this->appConfig->getAppValueBool('show_phone')) { $account = $this->accountManager->getAccount($user); $property = $account->getProperty(IAccountManager::PROPERTY_PHONE); $account->setProperty( @@ -334,7 +327,7 @@ public function createAccount(Registration $registration, ?string $loginName = n } // Add user to group - $registeredUserGroup = $this->config->getAppValue($this->appName, 'registered_user_group', 'none'); + $registeredUserGroup = $this->appConfig->getAppValueString('registered_user_group', 'none'); if ($registeredUserGroup !== 'none') { $group = $this->groupManager->get($registeredUserGroup); if ($group === null) { @@ -351,8 +344,8 @@ public function createAccount(Registration $registration, ?string $loginName = n } // disable user if this is requested by config - $adminApprovalRequired = $this->config->getAppValue($this->appName, 'admin_approval_required', 'no'); - if ($adminApprovalRequired === 'yes') { + $adminApprovalRequired = $this->appConfig->getAppValueBool('admin_approval_required'); + if ($adminApprovalRequired) { $user->setEnabled(false); $this->config->setUserValue($userId, Application::APP_ID, 'send_welcome_mail_on_enable', 'yes'); } else { diff --git a/lib/Settings/RegistrationSettings.php b/lib/Settings/RegistrationSettings.php index 2272aedf..183113ca 100644 --- a/lib/Settings/RegistrationSettings.php +++ b/lib/Settings/RegistrationSettings.php @@ -10,8 +10,8 @@ use OCA\Registration\AppInfo\Application; use OCP\AppFramework\Http\TemplateResponse; +use OCP\AppFramework\Services\IAppConfig; use OCP\AppFramework\Services\IInitialState; -use OCP\IConfig; use OCP\IGroup; use OCP\IGroupManager; use OCP\Settings\ISettings; @@ -21,79 +21,80 @@ class RegistrationSettings implements ISettings { public function __construct( protected string $appName, - private IConfig $config, + private IAppConfig $config, private IGroupManager $groupManager, private IInitialState $initialState, ) { } + #[\Override] public function getForm(): TemplateResponse { $this->initialState->provideInitialState( 'registered_user_group', - $this->getGroupDetailArray($this->config->getAppValue($this->appName, 'registered_user_group', 'none')) + $this->getGroupDetailArray($this->config->getAppValueString('registered_user_group', 'none')) ); $this->initialState->provideInitialState( 'admin_approval_required', - $this->config->getAppValue($this->appName, 'admin_approval_required', 'no') === 'yes' + $this->config->getAppValueBool('admin_approval_required') ); $this->initialState->provideInitialState( 'allowed_domains', - $this->config->getAppValue($this->appName, 'allowed_domains') + $this->config->getAppValueString('allowed_domains') ); $this->initialState->provideInitialState( 'domains_is_blocklist', - $this->config->getAppValue($this->appName, 'domains_is_blocklist', 'no') === 'yes' + $this->config->getAppValueBool('domains_is_blocklist') ); $this->initialState->provideInitialState( 'show_domains', - $this->config->getAppValue($this->appName, 'show_domains', 'no') === 'yes' + $this->config->getAppValueBool('show_domains') ); $this->initialState->provideInitialState( 'disable_email_verification', - $this->config->getAppValue($this->appName, 'disable_email_verification', 'no') === 'yes' + $this->config->getAppValueBool('disable_email_verification') ); $this->initialState->provideInitialState( 'email_is_optional', - $this->config->getAppValue($this->appName, 'email_is_optional', 'no') === 'yes' + $this->config->getAppValueBool('email_is_optional') ); $this->initialState->provideInitialState( 'email_is_login', - $this->config->getAppValue($this->appName, 'email_is_login', 'no') === 'yes' + $this->config->getAppValueBool('email_is_login') ); $this->initialState->provideInitialState( 'username_policy_regex', - $this->config->getAppValue($this->appName, 'username_policy_regex') + $this->config->getAppValueString('username_policy_regex') ); $this->initialState->provideInitialState( 'username_policy_regex', - $this->config->getAppValue($this->appName, 'username_policy_regex') + $this->config->getAppValueString('username_policy_regex') ); $this->initialState->provideInitialState( 'show_fullname', - $this->config->getAppValue($this->appName, 'show_fullname', 'no') === 'yes' + $this->config->getAppValueBool('show_fullname') ); $this->initialState->provideInitialState( 'enforce_fullname', - $this->config->getAppValue($this->appName, 'enforce_fullname', 'no') === 'yes' + $this->config->getAppValueBool('enforce_fullname') ); $this->initialState->provideInitialState( 'show_phone', - $this->config->getAppValue($this->appName, 'show_phone', 'no') === 'yes' + $this->config->getAppValueBool('show_phone') ); $this->initialState->provideInitialState( 'enforce_phone', - $this->config->getAppValue($this->appName, 'enforce_phone', 'no') === 'yes' + $this->config->getAppValueBool('enforce_phone') ); $this->initialState->provideInitialState( 'additional_hint', - $this->config->getAppValue($this->appName, 'additional_hint') + $this->config->getAppValueString('additional_hint') ); $this->initialState->provideInitialState( 'email_verification_hint', - $this->config->getAppValue($this->appName, 'email_verification_hint') + $this->config->getAppValueString('email_verification_hint') ); Util::addScript('registration', 'registration-settings'); @@ -102,10 +103,12 @@ public function getForm(): TemplateResponse { return new TemplateResponse('registration', 'admin', [], TemplateResponse::RENDER_AS_BLANK); } + #[\Override] public function getSection(): string { return Application::APP_ID; } + #[\Override] public function getPriority(): int { return 50; } diff --git a/lib/Settings/RegistrationSettingsSection.php b/lib/Settings/RegistrationSettingsSection.php index 4691c5aa..1b7819fe 100644 --- a/lib/Settings/RegistrationSettingsSection.php +++ b/lib/Settings/RegistrationSettingsSection.php @@ -23,32 +23,32 @@ public function __construct( /** * Section ID to be set in Settings - * @return string */ + #[\Override] public function getID(): string { return Application::APP_ID; } /** * Section Name to be displayed - * @return string */ + #[\Override] public function getName(): string { return $this->l10n->t('Registration'); } /** * Return Priority of section 0-100 - * @return int */ + #[\Override] public function getPriority(): int { return 80; } /** * Pass the relative path to the icon - * @return string */ + #[\Override] public function getIcon(): string { return $this->urlGenerator->imagePath(Application::APP_ID, 'app-dark.svg'); } diff --git a/tests/Unit/BackgroundJob/ExpireRegistrationsTest.php b/tests/Unit/BackgroundJob/ExpireRegistrationsTest.php index a531840b..989b5592 100644 --- a/tests/Unit/BackgroundJob/ExpireRegistrationsTest.php +++ b/tests/Unit/BackgroundJob/ExpireRegistrationsTest.php @@ -6,26 +6,21 @@ * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-only */ + namespace OCA\Registration\Tests\Unit\BackgroundJob; -use OCA\Registration\AppInfo\Application; use OCA\Registration\BackgroundJob\ExpireRegistrations; use OCA\Registration\Db\RegistrationMapper; +use OCP\AppFramework\Services\IAppConfig; use OCP\AppFramework\Utility\ITimeFactory; -use OCP\IConfig; use PHPUnit\Framework\MockObject\MockObject; use Test\TestCase; class ExpireRegistrationsTest extends TestCase { - /** @var RegistrationMapper | MockObject */ - private $registrationMapper; - - /** @var ITimeFactory | MockObject */ - private $timeFactory; - - /** @var IConfig|MockObject */ - private $config; + private RegistrationMapper&MockObject $registrationMapper; + private ITimeFactory&MockObject $timeFactory; + private IAppConfig&MockObject $config; private ExpireRegistrations $backgroundJob; @@ -34,16 +29,16 @@ protected function setUp(): void { $this->registrationMapper = $this->createMock(RegistrationMapper::class); $this->timeFactory = $this->createMock(ITimeFactory::class); - $this->config = $this->createMock(IConfig::class); + $this->config = $this->createMock(IAppConfig::class); $this->backgroundJob = new ExpireRegistrations($this->timeFactory, $this->registrationMapper, $this->config); } public function testRun() { $this->config->expects($this->once()) - ->method('getAppValue') - ->with(Application::APP_ID, 'expire_days', '30') - ->willReturn('20'); + ->method('getAppValueInt') + ->with('expire_days', 30) + ->willReturn(20); $expireDate = new \DateTime(); $this->timeFactory->expects($this->once()) diff --git a/tests/Unit/Controller/RegisterControllerTest.php b/tests/Unit/Controller/RegisterControllerTest.php index 0d481d42..5215fc6e 100644 --- a/tests/Unit/Controller/RegisterControllerTest.php +++ b/tests/Unit/Controller/RegisterControllerTest.php @@ -20,9 +20,9 @@ use OCP\AppFramework\Http\RedirectResponse; use OCP\AppFramework\Http\StandaloneTemplateResponse; use OCP\AppFramework\Http\TemplateResponse; +use OCP\AppFramework\Services\IAppConfig; use OCP\AppFramework\Services\IInitialState; use OCP\EventDispatcher\IEventDispatcher; -use OCP\IConfig; use OCP\IL10N; use OCP\IRequest; use OCP\IURLGenerator; @@ -32,31 +32,22 @@ class RegisterControllerTest extends TestCase { - /** @var IRequest */ - private $request; - /** @var IL10N|MockObject */ - private $l10n; - /** @var IURLGenerator|MockObject */ - private $urlGenerator; - /** @var IConfig|MockObject */ - private $config; - /** @var RegistrationService|MockObject */ - private $registrationService; - /** @var LoginFlowService|MockObject */ - private $loginFlowService; - /** @var MailService|MockObject */ - private $mailService; - /** @var IEventDispatcher|MockObject */ - private $eventDispatcher; - /** @var IInitialState|MockObject */ - private $initialState; + private IRequest&MockObject $request; + private IL10N&MockObject $l10n; + private IURLGenerator&MockObject $urlGenerator; + private IAppConfig&MockObject $config; + private RegistrationService&MockObject $registrationService; + private LoginFlowService&MockObject $loginFlowService; + private MailService&MockObject $mailService; + private IEventDispatcher&MockObject $eventDispatcher; + private IInitialState&MockObject $initialState; public function setUp(): void { parent::setUp(); $this->request = $this->createMock(IRequest::class); $this->l10n = $this->createMock(IL10N::class); $this->urlGenerator = $this->createMock(IURLGenerator::class); - $this->config = $this->createMock(IConfig::class); + $this->config = $this->createMock(IAppConfig::class); $this->registrationService = $this->createMock(RegistrationService::class); $this->loginFlowService = $this->createMock(LoginFlowService::class); $this->mailService = $this->createMock(MailService::class); @@ -121,8 +112,8 @@ public function testShowEmailForm(string $email, string $message): void { $controller = $this->getController(); $response = $controller->showEmailForm($email, $message); - $disable_email_verification = $this->config->getAppValue('registration', 'disable_email_verification', 'no'); - $email_is_optional = $this->config->getAppValue('registration', 'email_is_optional', 'no'); + $disable_email_verification = $this->config->getAppValueBool('disable_email_verification'); + $email_is_optional = $this->config->getAppValueBool('email_is_optional'); $this->loginFlowService->method('isUsingLoginFlow') ->willReturn(false); @@ -450,10 +441,15 @@ public function testShowUserForm(string $username, string $message): void { 'validateSecretAndToken' ]); - $this->config->method('getAppValue') + $this->config->expects($this->exactly(6)) + ->method('getAppValueBool') ->willReturnMap([ - ['registration', 'show_fullname', 'no', 'yes'], - ['registration', 'show_phone', 'no', 'yes'], + ['email_is_login', false], + ['email_is_optional', false], + ['show_fullname', true], + ['enforce_fullname', false], + ['show_phone', true], + ['enforce_phone', false], ]); $controller->expects($this->once()) diff --git a/tests/Unit/Service/RegistrationServiceTest.php b/tests/Unit/Service/RegistrationServiceTest.php index a24dbf97..680ec037 100644 --- a/tests/Unit/Service/RegistrationServiceTest.php +++ b/tests/Unit/Service/RegistrationServiceTest.php @@ -16,19 +16,21 @@ use OCA\Registration\Service\RegistrationException; use OCA\Registration\Service\RegistrationService; use OCP\Accounts\IAccountManager; +use OCP\AppFramework\Services\IAppConfig; use OCP\IConfig; use OCP\IDBConnection; use OCP\IGroupManager; use OCP\IL10N; +use OCP\IPhoneNumberUtil; use OCP\IRequest; use OCP\ISession; use OCP\IURLGenerator; use OCP\IUser; use OCP\IUserManager; use OCP\IUserSession; - use OCP\Security\ICrypto; use OCP\Security\ISecureRandom; +use OCP\Server; use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\MockObject\MockObject; use Psr\Log\LoggerInterface; @@ -41,12 +43,11 @@ class RegistrationServiceTest extends TestCase { use DatabaseTransaction; - /** @var RegistrationMapper */ private RegistrationMapper $registrationMapper; - /** @var IConfig */ - private $config; - /** @var ICrypto | MockObject */ - private $crypto; + private IConfig&MockObject $config; + private IAppConfig&MockObject $appConfig; + private ICrypto&MockObject $crypto; + private IPhoneNumberUtil $phoneNumberUtil; private RegistrationService $service; public function setUp(): void { @@ -62,6 +63,7 @@ public function setUp(): void { $userManager = \OC::$server->get(IUserManager::class); $accountManager = $this->createMock(IAccountManager::class); $this->config = $this->createMock(IConfig::class); + $this->appConfig = $this->createMock(IAppConfig::class); $groupManager = \OC::$server->get(IGroupManager::class); $random = \OC::$server->get(ISecureRandom::class); $userSession = $this->createMock(IUserSession::class); @@ -70,6 +72,7 @@ public function setUp(): void { $session = $this->createMock(ISession::class); $tokenProvider = $this->createMock(IProvider::class); $this->crypto = $this->createMock(ICrypto::class); + $this->phoneNumberUtil = Server::get(IPhoneNumberUtil::class); $this->registrationMapper = new RegistrationMapper( \OC::$server->get(IDBConnection::class), @@ -85,6 +88,7 @@ public function setUp(): void { $userManager, $accountManager, $this->config, + $this->appConfig, $groupManager, $random, $userSession, @@ -92,26 +96,27 @@ public function setUp(): void { $logger, $session, $tokenProvider, - $this->crypto + $this->crypto, + $this->phoneNumberUtil ); } public static function dataValidateEmail(): array { return [ - ['aaaa@example.com', '', 'no'], - ['aaaa@example.com', 'example.com', 'no'], - ['aaaa@example.com', 'eXample.com', 'no'], - ['aaaa@eXample.com', 'example.com', 'no'], - ['aaaa@example.com', 'example.com;example.tld', 'no'], - ['aaaa@example.com', 'example.tld;example.com', 'no'], - ['aaaa@example.tld', 'example.tld ; example.com', 'no'], - ['aaaa@example.com', 'example.tld ; example.com', 'no'], - ['aaaa@cloud.example.com', '*.example.com', 'no'], - ['aaaa@cloud.example.com', 'cloud.example.*', 'no'], - - ['aaaa@example.com', '', 'yes'], - ['aaaa@example.com', 'nextcloud.com', 'yes'], - ['aaaa@example.com', 'nextcloud.com;example.tld', 'yes'], + ['aaaa@example.com', '', false], + ['aaaa@example.com', 'example.com', false], + ['aaaa@example.com', 'eXample.com', false], + ['aaaa@eXample.com', 'example.com', false], + ['aaaa@example.com', 'example.com;example.tld', false], + ['aaaa@example.com', 'example.tld;example.com', false], + ['aaaa@example.tld', 'example.tld ; example.com', false], + ['aaaa@example.com', 'example.tld ; example.com', false], + ['aaaa@cloud.example.com', '*.example.com', false], + ['aaaa@cloud.example.com', 'cloud.example.*', false], + + ['aaaa@example.com', '', true], + ['aaaa@example.com', 'nextcloud.com', true], + ['aaaa@example.com', 'nextcloud.com;example.tld', true], ]; } @@ -119,13 +124,17 @@ public static function dataValidateEmail(): array { * @throws RegistrationException */ #[DataProvider('dataValidateEmail')] - public function testValidateEmail(string $email, string $allowedDomains, string $blocked) { - $this->config->expects($this->atLeastOnce()) - ->method('getAppValue') + public function testValidateEmail(string $email, string $allowedDomains, bool $blocked) { + $this->appConfig->expects($this->once()) + ->method('getAppValueString') + ->with('allowed_domains') + ->willReturn($allowedDomains); + + $this->appConfig->expects($this->exactly($allowedDomains === '' ? 0 : 2)) + ->method('getAppValueBool') ->willReturnMap([ - ['registration', 'allowed_domains', '', $allowedDomains], - ['registration', 'domains_is_blocklist', 'no', $blocked], - ['registration', 'show_domains', 'no', 'no'], + ['domains_is_blocklist', $blocked], + ['show_domains', false], ]); $this->service->validateEmail($email); @@ -133,16 +142,16 @@ public function testValidateEmail(string $email, string $allowedDomains, string public static function dataValidateEmailThrows(): array { return [ - ['aaaa@example.com', 'nextcloud.com;example.tld', 'no'], - ['aaaa@example.com', 'nextcloud.com', 'no'], - - ['aaaa@example.com', 'example.com', 'yes'], - ['aaaa@example.com', 'eXample.com', 'yes'], - ['aaaa@eXample.com', 'example.com', 'yes'], - ['aaaa@example.com', 'example.com;example.tld', 'yes'], - ['aaaa@example.com', 'example.tld;example.com', 'yes'], - ['aaaa@cloud.example.com', '*.example.com', 'yes'], - ['aaaa@cloud.example.com', 'cloud.example.*', 'yes'], + ['aaaa@example.com', 'nextcloud.com;example.tld', false], + ['aaaa@example.com', 'nextcloud.com', false], + + ['aaaa@example.com', 'example.com', true], + ['aaaa@example.com', 'eXample.com', true], + ['aaaa@eXample.com', 'example.com', true], + ['aaaa@example.com', 'example.com;example.tld', true], + ['aaaa@example.com', 'example.tld;example.com', true], + ['aaaa@cloud.example.com', '*.example.com', true], + ['aaaa@cloud.example.com', 'cloud.example.*', true], ]; } @@ -150,13 +159,17 @@ public static function dataValidateEmailThrows(): array { * @throws RegistrationException */ #[DataProvider('dataValidateEmailThrows')] - public function testValidateEmailThrows(string $email, string $allowedDomains, string $blocked) { - $this->config->expects($this->atLeastOnce()) - ->method('getAppValue') + public function testValidateEmailThrows(string $email, string $allowedDomains, bool $blocked) { + $this->appConfig->expects($this->once()) + ->method('getAppValueString') + ->with('allowed_domains') + ->willReturn($allowedDomains); + + $this->appConfig->expects($this->exactly(2)) + ->method('getAppValueBool') ->willReturnMap([ - ['registration', 'allowed_domains', '', $allowedDomains], - ['registration', 'domains_is_blocklist', 'no', $blocked], - ['registration', 'show_domains', 'no', 'no'], + ['domains_is_blocklist', $blocked], + ['show_domains', false], ]); $this->expectException(RegistrationException::class); @@ -196,10 +209,26 @@ public function testCreateAccountWebForm() { //$reg->setPassword("asdf"); $reg->setEmailConfirmed(true); - $this->config->expects($this->atLeastOnce()) - ->method('getAppValue') - ->will($this->returnCallback([$this, 'settingsCallback1'])); + $this->appConfig->expects($this->exactly(2)) + ->method('getAppValueString') + ->willReturnMap([ + ['registered_user_group', 'none', 'none'], + ['username_policy_regex', ''], + ]); + $this->appConfig->expects($this->exactly(6)) + ->method('getAppValueBool') + ->willReturnMap([ + ['show_fullname', true], + ['enforce_fullname', false], + ['show_phone', true], + ['enforce_phone', false], + ['admin_approval_required', false], + ]); + + $this->config->expects($this->once()) + ->method('getAppValue') + ->with('core', 'newUser.sendEmail'); $form_input_username = 'alice1'; $resulting_user = $this->service->createAccount($reg, $form_input_username, 'Full name', '+49 800 / 1110111', 'asdf'); @@ -257,10 +286,10 @@ public function testDuplicateUsernameApi() { * @depends testDuplicateUsernameApi */ public function testUsernameDoesntMatchPattern() { - $this->config->expects($this->atLeastOnce()) - ->method('getAppValue') + $this->appConfig->expects($this->atLeastOnce()) + ->method('getAppValueString') ->willReturnMap([ - ['registration', 'username_policy_regex', '', '/^[a-z]\.[a-z]+$/'], + ['username_policy_regex', '', '/^[a-z]\.[a-z]+$/'], ]); $reg = new Registration(); @@ -278,19 +307,4 @@ public function testUsernameDoesntMatchPattern() { $this->expectExceptionMessage('Please provide a valid login name.'); $this->service->createAccount($reg, null, 'Full name', '+49 800 / 1110111'); } - - public function settingsCallback1(string $app, string $key, string $default): string { - $map = [ - 'registered_user_group' => 'none', - 'admin_approval_required' => 'no', - 'username_policy_regex' => '', - 'show_fullname' => 'yes', - 'enforce_fullname' => 'no', - 'show_phone' => 'yes', - 'enforce_phone' => 'no', - 'newUser.sendEmail' => 'no', - ]; - - return $map[$key]; - } } From 71e1d0f7ae78bd41d7cee6a31b8aa5d2a71ce932 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 20 May 2026 20:54:49 +0200 Subject: [PATCH 3/6] feat: add psalm Signed-off-by: Thomas Citharel --- .github/workflows/psalm-matrix.yml | 87 + REUSE.toml | 2 +- baseline.xml | 23 + composer.json | 4 + composer.lock | 258 ++- psalm.xml | 43 + vendor-bin/cs-fixer/composer.lock | 12 +- vendor-bin/phpunit/composer.lock | 24 +- vendor-bin/psalm/composer.json | 11 + vendor-bin/psalm/composer.lock | 3355 ++++++++++++++++++++++++++++ 10 files changed, 3797 insertions(+), 22 deletions(-) create mode 100644 .github/workflows/psalm-matrix.yml create mode 100644 baseline.xml create mode 100644 psalm.xml create mode 100644 vendor-bin/psalm/composer.json create mode 100644 vendor-bin/psalm/composer.lock diff --git a/.github/workflows/psalm-matrix.yml b/.github/workflows/psalm-matrix.yml new file mode 100644 index 00000000..0dec45e8 --- /dev/null +++ b/.github/workflows/psalm-matrix.yml @@ -0,0 +1,87 @@ +# This workflow is provided via the organization template repository +# +# https://github.com/nextcloud/.github +# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization +# +# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors +# SPDX-License-Identifier: MIT + +name: Static analysis + +on: pull_request + +concurrency: + group: psalm-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +permissions: + contents: read + +jobs: + matrix: + runs-on: ubuntu-latest-low + outputs: + ocp-matrix: ${{ steps.versions.outputs.ocp-matrix }} + php-min: ${{ steps.versions.outputs.php-min }} + steps: + - name: Checkout app + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false + + - name: Get version matrix + id: versions + uses: icewind1991/nextcloud-version-matrix@8a7bac6300b2f0f3100088b297995a229558ddba # v1.3.2 + + - name: Check enforcement of minimum PHP version ${{ steps.versions.outputs.php-min }} in psalm.xml + run: grep 'phpVersion="${{ steps.versions.outputs.php-min }}' psalm.xml + + static-analysis: + runs-on: ubuntu-latest + needs: matrix + strategy: + # do not stop on another job's failure + fail-fast: false + matrix: ${{ fromJson(needs.matrix.outputs.ocp-matrix) }} + + name: static-psalm-analysis ${{ matrix.ocp-version }} + steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false + + - name: Set up php${{ needs.matrix.outputs.php-min }} + uses: shivammathur/setup-php@7c071dfe9dc99bdf297fa79cb49ea005b9fcadbc # 2.37.1 + with: + php-version: ${{ needs.matrix.outputs.php-min }} + extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite + coverage: none + ini-file: development + # Temporary workaround for missing pcntl_* in PHP 8.3 + ini-values: disable_functions= + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Install dependencies + run: | + composer remove nextcloud/ocp --dev --no-scripts + composer i + + - name: Install dependencies # zizmor: ignore[template-injection] + run: composer require --dev 'nextcloud/ocp:${{ matrix.ocp-version }}' --ignore-platform-reqs --with-dependencies + + - name: Run coding standards check + run: composer run psalm -- --threads=1 --monochrome --no-progress --output-format=github + + summary: + runs-on: ubuntu-latest-low + needs: static-analysis + + if: always() + + name: static-psalm-analysis-summary + + steps: + - name: Summary status + run: if ${{ needs.static-analysis.result != 'success' }}; then exit 1; fi diff --git a/REUSE.toml b/REUSE.toml index c634f506..e7acd7fa 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -12,7 +12,7 @@ SPDX-FileCopyrightText = "2014 ownCloud, Inc and translators, 2020 Nextcloud Gmb SPDX-License-Identifier = "AGPL-3.0-or-later" [[annotations]] -path = ["composer.json", "composer.lock", "vendor-bin/**/composer.json", "vendor-bin/**/composer.lock", "tsconfig.json"] +path = ["composer.json", "composer.lock", "vendor-bin/**/composer.json", "vendor-bin/**/composer.lock", "tsconfig.json", "psalm.xml", "baseline.xml"] precedence = "aggregate" SPDX-FileCopyrightText = "2017 Nextcloud GmbH and Nextcloud contributors" SPDX-License-Identifier = "AGPL-3.0-or-later" diff --git a/baseline.xml b/baseline.xml new file mode 100644 index 00000000..4efcc419 --- /dev/null +++ b/baseline.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/composer.json b/composer.json index 1f200cc2..adf0094a 100644 --- a/composer.json +++ b/composer.json @@ -12,6 +12,7 @@ "cs:check": "php-cs-fixer fix --dry-run --diff", "cs:fix": "php-cs-fixer fix", "lint": "find . -name \\*.php -not -path './vendor/*' -not -path './vendor-bin/*' -not -path './build/*' -not -path './tests/integration/vendor/*' -print0 | xargs -0 -n1 php -l", + "psalm": "psalm", "test:unit": "vendor/bin/phpunit -c tests/phpunit.xml", "post-install-cmd": [ "@composer bin all install --ansi" @@ -33,5 +34,8 @@ "require": { "php": ">= 8.1 <=8.5", "bamarni/composer-bin-plugin": "^1.8" + }, + "require-dev": { + "nextcloud/ocp": "dev-stable32" } } diff --git a/composer.lock b/composer.lock index 4541a99f..012ab95b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "c45afe47e097842d9fbf27f47d83d6ff", + "content-hash": "d411b005d4fcf68f25b02376c6ced821", "packages": [ { "name": "bamarni/composer-bin-plugin", @@ -64,10 +64,262 @@ "time": "2026-02-04T10:18:12+00:00" } ], - "packages-dev": [], + "packages-dev": [ + { + "name": "nextcloud/ocp", + "version": "dev-stable32", + "source": { + "type": "git", + "url": "https://github.com/nextcloud-deps/ocp.git", + "reference": "ef43111aa5096fc2818ff79631cd0801ec4e3cc4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/ef43111aa5096fc2818ff79631cd0801ec4e3cc4", + "reference": "ef43111aa5096fc2818ff79631cd0801ec4e3cc4", + "shasum": "" + }, + "require": { + "php": "~8.1 || ~8.2 || ~8.3 || ~8.4", + "psr/clock": "^1.0", + "psr/container": "^2.0.2", + "psr/event-dispatcher": "^1.0", + "psr/log": "^3.0.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-stable32": "32.0.0-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "AGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Christoph Wurst", + "email": "christoph@winzerhof-wurst.at" + }, + { + "name": "Joas Schilling", + "email": "coding@schilljs.com" + } + ], + "description": "Composer package containing Nextcloud's public OCP API and the unstable NCU API", + "support": { + "issues": "https://github.com/nextcloud-deps/ocp/issues", + "source": "https://github.com/nextcloud-deps/ocp/tree/stable32" + }, + "time": "2026-06-03T02:42:41+00:00" + }, + { + "name": "psr/clock", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Clock\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", + "keywords": [ + "clock", + "now", + "psr", + "psr-20", + "time" + ], + "support": { + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" + }, + "time": "2022-11-25T14:36:26+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/log", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" + } + ], "aliases": [], "minimum-stability": "stable", - "stability-flags": {}, + "stability-flags": { + "nextcloud/ocp": 20 + }, "prefer-stable": false, "prefer-lowest": false, "platform": { diff --git a/psalm.xml b/psalm.xml new file mode 100644 index 00000000..0ef19bf0 --- /dev/null +++ b/psalm.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor-bin/cs-fixer/composer.lock b/vendor-bin/cs-fixer/composer.lock index 8d9299ab..6ceaa499 100644 --- a/vendor-bin/cs-fixer/composer.lock +++ b/vendor-bin/cs-fixer/composer.lock @@ -106,16 +106,16 @@ }, { "name": "php-cs-fixer/shim", - "version": "v3.95.2", + "version": "v3.95.4", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/shim.git", - "reference": "319bd80c8db64ab5f7b79a19178299045bdb9957" + "reference": "886a7adcb685e30a9dadb484236621b011b267b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/shim/zipball/319bd80c8db64ab5f7b79a19178299045bdb9957", - "reference": "319bd80c8db64ab5f7b79a19178299045bdb9957", + "url": "https://api.github.com/repos/PHP-CS-Fixer/shim/zipball/886a7adcb685e30a9dadb484236621b011b267b9", + "reference": "886a7adcb685e30a9dadb484236621b011b267b9", "shasum": "" }, "require": { @@ -152,9 +152,9 @@ "description": "A tool to automatically fix PHP code style", "support": { "issues": "https://github.com/PHP-CS-Fixer/shim/issues", - "source": "https://github.com/PHP-CS-Fixer/shim/tree/v3.95.2" + "source": "https://github.com/PHP-CS-Fixer/shim/tree/v3.95.4" }, - "time": "2026-05-15T09:21:09+00:00" + "time": "2026-06-03T18:03:14+00:00" } ], "aliases": [], diff --git a/vendor-bin/phpunit/composer.lock b/vendor-bin/phpunit/composer.lock index a3d36183..aaaab350 100644 --- a/vendor-bin/phpunit/composer.lock +++ b/vendor-bin/phpunit/composer.lock @@ -1736,16 +1736,16 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.37.0", + "version": "v1.38.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315" + "reference": "14c5439eec4ccff081ac14eca2dc57feb2a66d92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6a21eb99c6973357967f6ce3708cd55a6bec6315", - "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/14c5439eec4ccff081ac14eca2dc57feb2a66d92", + "reference": "14c5439eec4ccff081ac14eca2dc57feb2a66d92", "shasum": "" }, "require": { @@ -1797,7 +1797,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.37.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.38.1" }, "funding": [ { @@ -1817,20 +1817,20 @@ "type": "tidelift" } ], - "time": "2026-04-10T17:25:58+00:00" + "time": "2026-05-26T12:51:13+00:00" }, { "name": "symfony/process", - "version": "v6.4.39", + "version": "v6.4.41", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "6c93071cb8c91dce5a41960d125e019e64ef6cb5" + "reference": "c8fc09bdfe9fde9aaa89b415a4477feaccec16a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/6c93071cb8c91dce5a41960d125e019e64ef6cb5", - "reference": "6c93071cb8c91dce5a41960d125e019e64ef6cb5", + "url": "https://api.github.com/repos/symfony/process/zipball/c8fc09bdfe9fde9aaa89b415a4477feaccec16a7", + "reference": "c8fc09bdfe9fde9aaa89b415a4477feaccec16a7", "shasum": "" }, "require": { @@ -1862,7 +1862,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.39" + "source": "https://github.com/symfony/process/tree/v6.4.41" }, "funding": [ { @@ -1882,7 +1882,7 @@ "type": "tidelift" } ], - "time": "2026-05-11T16:53:15+00:00" + "time": "2026-05-23T13:47:21+00:00" }, { "name": "theseer/tokenizer", diff --git a/vendor-bin/psalm/composer.json b/vendor-bin/psalm/composer.json new file mode 100644 index 00000000..5d5a261e --- /dev/null +++ b/vendor-bin/psalm/composer.json @@ -0,0 +1,11 @@ +{ + "config": { + "platform": { + "php": "8.1.31" + }, + "sort-packages": true + }, + "require-dev": { + "vimeo/psalm": "^6.16" + } +} diff --git a/vendor-bin/psalm/composer.lock b/vendor-bin/psalm/composer.lock new file mode 100644 index 00000000..2937302d --- /dev/null +++ b/vendor-bin/psalm/composer.lock @@ -0,0 +1,3355 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "59be2346f632d9ccd0fdde2300cac496", + "packages": [], + "packages-dev": [ + { + "name": "amphp/amp", + "version": "v3.1.1", + "source": { + "type": "git", + "url": "https://github.com/amphp/amp.git", + "reference": "fa0ab33a6f47a82929c38d03ca47ebb71086a93f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/amp/zipball/fa0ab33a6f47a82929c38d03ca47ebb71086a93f", + "reference": "fa0ab33a6f47a82929c38d03ca47ebb71086a93f", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "phpunit/phpunit": "^9", + "psalm/phar": "5.23.1" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php", + "src/Future/functions.php", + "src/Internal/functions.php" + ], + "psr-4": { + "Amp\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Bob Weinand", + "email": "bobwei9@hotmail.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + }, + { + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" + } + ], + "description": "A non-blocking concurrency framework for PHP applications.", + "homepage": "https://amphp.org/amp", + "keywords": [ + "async", + "asynchronous", + "awaitable", + "concurrency", + "event", + "event-loop", + "future", + "non-blocking", + "promise" + ], + "support": { + "issues": "https://github.com/amphp/amp/issues", + "source": "https://github.com/amphp/amp/tree/v3.1.1" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2025-08-27T21:42:00+00:00" + }, + { + "name": "amphp/byte-stream", + "version": "v2.1.2", + "source": { + "type": "git", + "url": "https://github.com/amphp/byte-stream.git", + "reference": "55a6bd071aec26fa2a3e002618c20c35e3df1b46" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/byte-stream/zipball/55a6bd071aec26fa2a3e002618c20c35e3df1b46", + "reference": "55a6bd071aec26fa2a3e002618c20c35e3df1b46", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/parser": "^1.1", + "amphp/pipeline": "^1", + "amphp/serialization": "^1", + "amphp/sync": "^2", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2.3" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "5.22.1" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php", + "src/Internal/functions.php" + ], + "psr-4": { + "Amp\\ByteStream\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "A stream abstraction to make working with non-blocking I/O simple.", + "homepage": "https://amphp.org/byte-stream", + "keywords": [ + "amp", + "amphp", + "async", + "io", + "non-blocking", + "stream" + ], + "support": { + "issues": "https://github.com/amphp/byte-stream/issues", + "source": "https://github.com/amphp/byte-stream/tree/v2.1.2" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2025-03-16T17:10:27+00:00" + }, + { + "name": "amphp/cache", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/amphp/cache.git", + "reference": "46912e387e6aa94933b61ea1ead9cf7540b7797c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/cache/zipball/46912e387e6aa94933b61ea1ead9cf7540b7797c", + "reference": "46912e387e6aa94933b61ea1ead9cf7540b7797c", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/serialization": "^1", + "amphp/sync": "^2", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Amp\\Cache\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" + } + ], + "description": "A fiber-aware cache API based on Amp and Revolt.", + "homepage": "https://amphp.org/cache", + "support": { + "issues": "https://github.com/amphp/cache/issues", + "source": "https://github.com/amphp/cache/tree/v2.0.1" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2024-04-19T03:38:06+00:00" + }, + { + "name": "amphp/dns", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/amphp/dns.git", + "reference": "78eb3db5fc69bf2fc0cb503c4fcba667bc223c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/dns/zipball/78eb3db5fc69bf2fc0cb503c4fcba667bc223c71", + "reference": "78eb3db5fc69bf2fc0cb503c4fcba667bc223c71", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/cache": "^2", + "amphp/parser": "^1", + "amphp/process": "^2", + "daverandom/libdns": "^2.0.2", + "ext-filter": "*", + "ext-json": "*", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "5.20" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Amp\\Dns\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Wright", + "email": "addr@daverandom.com" + }, + { + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" + }, + { + "name": "Bob Weinand", + "email": "bobwei9@hotmail.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + } + ], + "description": "Async DNS resolution for Amp.", + "homepage": "https://github.com/amphp/dns", + "keywords": [ + "amp", + "amphp", + "async", + "client", + "dns", + "resolve" + ], + "support": { + "issues": "https://github.com/amphp/dns/issues", + "source": "https://github.com/amphp/dns/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2025-01-19T15:43:40+00:00" + }, + { + "name": "amphp/parallel", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/amphp/parallel.git", + "reference": "37f5b2754fadc229c00f9416bd68fb8d04529a81" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/parallel/zipball/37f5b2754fadc229c00f9416bd68fb8d04529a81", + "reference": "37f5b2754fadc229c00f9416bd68fb8d04529a81", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/cache": "^2", + "amphp/parser": "^1", + "amphp/pipeline": "^1", + "amphp/process": "^2", + "amphp/serialization": "^1", + "amphp/socket": "^2", + "amphp/sync": "^2", + "php": ">=8.1", + "revolt/event-loop": "^1" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "6.16.1" + }, + "type": "library", + "autoload": { + "files": [ + "src/Context/functions.php", + "src/Context/Internal/functions.php", + "src/Ipc/functions.php", + "src/Worker/functions.php" + ], + "psr-4": { + "Amp\\Parallel\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + }, + { + "name": "Stephen Coakley", + "email": "me@stephencoakley.com" + } + ], + "description": "Parallel processing component for Amp.", + "homepage": "https://github.com/amphp/parallel", + "keywords": [ + "async", + "asynchronous", + "concurrent", + "multi-processing", + "multi-threading" + ], + "support": { + "issues": "https://github.com/amphp/parallel/issues", + "source": "https://github.com/amphp/parallel/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2026-05-16T16:54:01+00:00" + }, + { + "name": "amphp/parser", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/amphp/parser.git", + "reference": "3cf1f8b32a0171d4b1bed93d25617637a77cded7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/parser/zipball/3cf1f8b32a0171d4b1bed93d25617637a77cded7", + "reference": "3cf1f8b32a0171d4b1bed93d25617637a77cded7", + "shasum": "" + }, + "require": { + "php": ">=7.4" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Amp\\Parser\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "A generator parser to make streaming parsers simple.", + "homepage": "https://github.com/amphp/parser", + "keywords": [ + "async", + "non-blocking", + "parser", + "stream" + ], + "support": { + "issues": "https://github.com/amphp/parser/issues", + "source": "https://github.com/amphp/parser/tree/v1.1.1" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2024-03-21T19:16:53+00:00" + }, + { + "name": "amphp/pipeline", + "version": "v1.2.4", + "source": { + "type": "git", + "url": "https://github.com/amphp/pipeline.git", + "reference": "a044733e080940d1483f56caff0c412ad6982776" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/pipeline/zipball/a044733e080940d1483f56caff0c412ad6982776", + "reference": "a044733e080940d1483f56caff0c412ad6982776", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "php": ">=8.1", + "revolt/event-loop": "^1" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "6.16.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Amp\\Pipeline\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "Asynchronous iterators and operators.", + "homepage": "https://amphp.org/pipeline", + "keywords": [ + "amp", + "amphp", + "async", + "io", + "iterator", + "non-blocking" + ], + "support": { + "issues": "https://github.com/amphp/pipeline/issues", + "source": "https://github.com/amphp/pipeline/tree/v1.2.4" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2026-05-06T05:37:57+00:00" + }, + { + "name": "amphp/process", + "version": "v2.1.0", + "source": { + "type": "git", + "url": "https://github.com/amphp/process.git", + "reference": "583959df17d00304ad7b0b32285373f985935643" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/process/zipball/583959df17d00304ad7b0b32285373f985935643", + "reference": "583959df17d00304ad7b0b32285373f985935643", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/sync": "^2", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "6.16.1" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Amp\\Process\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bob Weinand", + "email": "bobwei9@hotmail.com" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "A fiber-aware process manager based on Amp and Revolt.", + "homepage": "https://amphp.org/process", + "support": { + "issues": "https://github.com/amphp/process/issues", + "source": "https://github.com/amphp/process/tree/v2.1.0" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2026-05-31T15:11:55+00:00" + }, + { + "name": "amphp/serialization", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/amphp/serialization.git", + "reference": "fdf2834d78cebb0205fb2672676c1b1eb84371f0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/serialization/zipball/fdf2834d78cebb0205fb2672676c1b1eb84371f0", + "reference": "fdf2834d78cebb0205fb2672676c1b1eb84371f0", + "shasum": "" + }, + "require": { + "php": ">=7.4" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "ext-json": "*", + "ext-zlib": "*", + "phpunit/phpunit": "^9", + "psalm/phar": "6.16.1" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Amp\\Serialization\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "Serialization tools for IPC and data storage in PHP.", + "homepage": "https://github.com/amphp/serialization", + "keywords": [ + "async", + "asynchronous", + "serialization", + "serialize" + ], + "support": { + "issues": "https://github.com/amphp/serialization/issues", + "source": "https://github.com/amphp/serialization/tree/v1.1.0" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2026-04-05T15:59:53+00:00" + }, + { + "name": "amphp/socket", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/amphp/socket.git", + "reference": "dadb63c5d3179fd83803e29dfeac27350e619314" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/socket/zipball/dadb63c5d3179fd83803e29dfeac27350e619314", + "reference": "dadb63c5d3179fd83803e29dfeac27350e619314", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/dns": "^2", + "ext-openssl": "*", + "kelunik/certificate": "^1.1", + "league/uri": "^7", + "league/uri-interfaces": "^7", + "php": ">=8.1", + "revolt/event-loop": "^1" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "amphp/process": "^2", + "phpunit/phpunit": "^9", + "psalm/phar": "6.16.1" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php", + "src/Internal/functions.php", + "src/SocketAddress/functions.php" + ], + "psr-4": { + "Amp\\Socket\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Lowrey", + "email": "rdlowrey@gmail.com" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "Non-blocking socket connection / server implementations based on Amp and Revolt.", + "homepage": "https://github.com/amphp/socket", + "keywords": [ + "amp", + "async", + "encryption", + "non-blocking", + "sockets", + "tcp", + "tls" + ], + "support": { + "issues": "https://github.com/amphp/socket/issues", + "source": "https://github.com/amphp/socket/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2026-04-19T15:09:56+00:00" + }, + { + "name": "amphp/sync", + "version": "v2.3.0", + "source": { + "type": "git", + "url": "https://github.com/amphp/sync.git", + "reference": "217097b785130d77cfcc58ff583cf26cd1770bf1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/sync/zipball/217097b785130d77cfcc58ff583cf26cd1770bf1", + "reference": "217097b785130d77cfcc58ff583cf26cd1770bf1", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/pipeline": "^1", + "amphp/serialization": "^1", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "5.23" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Amp\\Sync\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + }, + { + "name": "Stephen Coakley", + "email": "me@stephencoakley.com" + } + ], + "description": "Non-blocking synchronization primitives for PHP based on Amp and Revolt.", + "homepage": "https://github.com/amphp/sync", + "keywords": [ + "async", + "asynchronous", + "mutex", + "semaphore", + "synchronization" + ], + "support": { + "issues": "https://github.com/amphp/sync/issues", + "source": "https://github.com/amphp/sync/tree/v2.3.0" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2024-08-03T19:31:26+00:00" + }, + { + "name": "composer/pcre", + "version": "3.3.2", + "source": { + "type": "git", + "url": "https://github.com/composer/pcre.git", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<1.11.10" + }, + "require-dev": { + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-strict-rules": "^1 || ^2", + "phpunit/phpunit": "^8 || ^9" + }, + "type": "library", + "extra": { + "phpstan": { + "includes": [ + "extension.neon" + ] + }, + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Pcre\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "PCRE wrapping library that offers type-safe preg_* replacements.", + "keywords": [ + "PCRE", + "preg", + "regex", + "regular expression" + ], + "support": { + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/3.3.2" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2024-11-12T16:29:46+00:00" + }, + { + "name": "composer/semver", + "version": "3.4.4", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95", + "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.4" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + } + ], + "time": "2025-08-20T19:15:30+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "3.0.5", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", + "shasum": "" + }, + "require": { + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1 || ^2 || ^3" + }, + "require-dev": { + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.1", + "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2024-05-06T16:37:16+00:00" + }, + { + "name": "danog/advanced-json-rpc", + "version": "v3.2.3", + "source": { + "type": "git", + "url": "https://github.com/danog/php-advanced-json-rpc.git", + "reference": "ae703ea7b4811797a10590b6078de05b3b33dd91" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/danog/php-advanced-json-rpc/zipball/ae703ea7b4811797a10590b6078de05b3b33dd91", + "reference": "ae703ea7b4811797a10590b6078de05b3b33dd91", + "shasum": "" + }, + "require": { + "netresearch/jsonmapper": "^5", + "php": ">=8.1", + "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0 || ^6" + }, + "replace": { + "felixfbecker/php-advanced-json-rpc": "^3" + }, + "require-dev": { + "phpunit/phpunit": "^9" + }, + "type": "library", + "autoload": { + "psr-4": { + "AdvancedJsonRpc\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Felix Becker", + "email": "felix.b@outlook.com" + }, + { + "name": "Daniil Gentili", + "email": "daniil@daniil.it" + } + ], + "description": "A more advanced JSONRPC implementation", + "support": { + "issues": "https://github.com/danog/php-advanced-json-rpc/issues", + "source": "https://github.com/danog/php-advanced-json-rpc/tree/v3.2.3" + }, + "time": "2026-01-12T21:07:10+00:00" + }, + { + "name": "daverandom/libdns", + "version": "v2.1.0", + "source": { + "type": "git", + "url": "https://github.com/DaveRandom/LibDNS.git", + "reference": "b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/DaveRandom/LibDNS/zipball/b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a", + "reference": "b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "Required for IDN support" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "LibDNS\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "DNS protocol implementation written in pure PHP", + "keywords": [ + "dns" + ], + "support": { + "issues": "https://github.com/DaveRandom/LibDNS/issues", + "source": "https://github.com/DaveRandom/LibDNS/tree/v2.1.0" + }, + "time": "2024-04-12T12:12:48+00:00" + }, + { + "name": "dnoegel/php-xdg-base-dir", + "version": "v0.1.1", + "source": { + "type": "git", + "url": "https://github.com/dnoegel/php-xdg-base-dir.git", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" + }, + "type": "library", + "autoload": { + "psr-4": { + "XdgBaseDir\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "implementation of xdg base directory specification for php", + "support": { + "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues", + "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1" + }, + "time": "2019-12-04T15:06:13+00:00" + }, + { + "name": "doctrine/deprecations", + "version": "1.1.6", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca", + "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "phpunit/phpunit": "<=7.5 || >=14" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^12 || ^14", + "phpstan/phpstan": "1.4.10 || 2.1.30", + "phpstan/phpstan-phpunit": "^1.0 || ^2", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12.4 || ^13.0", + "psr/log": "^1 || ^2 || ^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/1.1.6" + }, + "time": "2026-02-07T07:09:04+00:00" + }, + { + "name": "felixfbecker/language-server-protocol", + "version": "v1.5.3", + "source": { + "type": "git", + "url": "https://github.com/felixfbecker/php-language-server-protocol.git", + "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/a9e113dbc7d849e35b8776da39edaf4313b7b6c9", + "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpstan/phpstan": "*", + "squizlabs/php_codesniffer": "^3.1", + "vimeo/psalm": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "LanguageServerProtocol\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Felix Becker", + "email": "felix.b@outlook.com" + } + ], + "description": "PHP classes for the Language Server Protocol", + "keywords": [ + "language", + "microsoft", + "php", + "server" + ], + "support": { + "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues", + "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.3" + }, + "time": "2024-04-30T00:40:11+00:00" + }, + { + "name": "fidry/cpu-core-counter", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/theofidry/cpu-core-counter.git", + "reference": "db9508f7b1474469d9d3c53b86f817e344732678" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/db9508f7b1474469d9d3c53b86f817e344732678", + "reference": "db9508f7b1474469d9d3c53b86f817e344732678", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "fidry/makefile": "^0.2.0", + "fidry/php-cs-fixer-config": "^1.1.2", + "phpstan/extension-installer": "^1.2.0", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-deprecation-rules": "^2.0.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^8.5.31 || ^9.5.26", + "webmozarts/strict-phpunit": "^7.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Fidry\\CpuCoreCounter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Théo FIDRY", + "email": "theo.fidry@gmail.com" + } + ], + "description": "Tiny utility to get the number of CPU cores.", + "keywords": [ + "CPU", + "core" + ], + "support": { + "issues": "https://github.com/theofidry/cpu-core-counter/issues", + "source": "https://github.com/theofidry/cpu-core-counter/tree/1.3.0" + }, + "funding": [ + { + "url": "https://github.com/theofidry", + "type": "github" + } + ], + "time": "2025-08-14T07:29:31+00:00" + }, + { + "name": "kelunik/certificate", + "version": "v1.1.3", + "source": { + "type": "git", + "url": "https://github.com/kelunik/certificate.git", + "reference": "7e00d498c264d5eb4f78c69f41c8bd6719c0199e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kelunik/certificate/zipball/7e00d498c264d5eb4f78c69f41c8bd6719c0199e", + "reference": "7e00d498c264d5eb4f78c69f41c8bd6719c0199e", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "php": ">=7.0" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "phpunit/phpunit": "^6 | 7 | ^8 | ^9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Kelunik\\Certificate\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "Access certificate details and transform between different formats.", + "keywords": [ + "DER", + "certificate", + "certificates", + "openssl", + "pem", + "x509" + ], + "support": { + "issues": "https://github.com/kelunik/certificate/issues", + "source": "https://github.com/kelunik/certificate/tree/v1.1.3" + }, + "time": "2023-02-03T21:26:53+00:00" + }, + { + "name": "league/uri", + "version": "7.8.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri.git", + "reference": "08cf38e3924d4f56238125547b5720496fac8fd4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/08cf38e3924d4f56238125547b5720496fac8fd4", + "reference": "08cf38e3924d4f56238125547b5720496fac8fd4", + "shasum": "" + }, + "require": { + "league/uri-interfaces": "^7.8.1", + "php": "^8.1", + "psr/http-factory": "^1" + }, + "conflict": { + "league/uri-schemes": "^1.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-dom": "to convert the URI into an HTML anchor tag", + "ext-fileinfo": "to create Data URI from file contennts", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "ext-uri": "to use the PHP native URI class", + "jeremykendall/php-domain-parser": "to further parse the URI host and resolve its Public Suffix and Top Level Domain", + "league/uri-components": "to provide additional tools to manipulate URI objects components", + "league/uri-polyfill": "to backport the PHP URI extension for older versions of PHP", + "php-64bit": "to improve IPV4 host parsing", + "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "URI manipulation library", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "URN", + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "middleware", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc2141", + "rfc3986", + "rfc3987", + "rfc6570", + "rfc8141", + "uri", + "uri-template", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri/tree/7.8.1" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2026-03-15T20:22:25+00:00" + }, + { + "name": "league/uri-interfaces", + "version": "7.8.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri-interfaces.git", + "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/85d5c77c5d6d3af6c54db4a78246364908f3c928", + "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^8.1", + "psr/http-message": "^1.1 || ^2.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "php-64bit": "to improve IPV4 host parsing", + "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "Common tools for parsing and resolving RFC3987/RFC3986 URI", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.1" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2026-03-08T20:05:35+00:00" + }, + { + "name": "netresearch/jsonmapper", + "version": "v5.0.1", + "source": { + "type": "git", + "url": "https://github.com/cweiske/jsonmapper.git", + "reference": "980674efdda65913492d29a8fd51c82270dd37bb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/980674efdda65913492d29a8fd51c82270dd37bb", + "reference": "980674efdda65913492d29a8fd51c82270dd37bb", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-spl": "*", + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0 || ~10.0", + "squizlabs/php_codesniffer": "~3.5" + }, + "type": "library", + "autoload": { + "psr-0": { + "JsonMapper": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "OSL-3.0" + ], + "authors": [ + { + "name": "Christian Weiske", + "email": "cweiske@cweiske.de", + "homepage": "http://github.com/cweiske/jsonmapper/", + "role": "Developer" + } + ], + "description": "Map nested JSON structures onto PHP classes", + "support": { + "email": "cweiske@cweiske.de", + "issues": "https://github.com/cweiske/jsonmapper/issues", + "source": "https://github.com/cweiske/jsonmapper/tree/v5.0.1" + }, + "time": "2026-02-22T16:28:03+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v5.7.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" + }, + "time": "2025-12-06T11:56:16+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-2.x": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, + "time": "2020-06-27T09:03:43+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "6.0.3", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "7bae67520aa9f5ecc506d646810bd40d9da54582" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/7bae67520aa9f5ecc506d646810bd40d9da54582", + "reference": "7bae67520aa9f5ecc506d646810bd40d9da54582", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^1.1", + "ext-filter": "*", + "php": "^7.4 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^2.0", + "phpstan/phpdoc-parser": "^2.0", + "webmozart/assert": "^1.9.1 || ^2" + }, + "require-dev": { + "mockery/mockery": "~1.3.5 || ~1.6.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-webmozart-assert": "^1.2", + "phpunit/phpunit": "^9.5", + "psalm/phar": "^5.26", + "shipmonk/dead-code-detector": "^0.5.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/6.0.3" + }, + "time": "2026-03-18T20:49:53+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "327a05bbee54120d4786a0dc67aad30226ad4cf9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/327a05bbee54120d4786a0dc67aad30226ad4cf9", + "reference": "327a05bbee54120d4786a0dc67aad30226ad4cf9", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^1.0", + "php": "^7.4 || ^8.0", + "phpdocumentor/reflection-common": "^2.0", + "phpstan/phpdoc-parser": "^2.0" + }, + "require-dev": { + "ext-tokenizer": "*", + "phpbench/phpbench": "^1.2", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.5", + "psalm/phar": "^4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev", + "dev-2.x": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/2.0.0" + }, + "time": "2026-01-06T21:53:42+00:00" + }, + { + "name": "phpstan/phpdoc-parser", + "version": "2.3.2", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a", + "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "doctrine/annotations": "^2.0", + "nikic/php-parser": "^5.3.0", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.6", + "symfony/process": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", + "support": { + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2" + }, + "time": "2026-01-25T14:56:51+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory" + }, + "time": "2024-04-15T12:06:14+00:00" + }, + { + "name": "psr/http-message", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/2.0" + }, + "time": "2023-04-04T09:54:51+00:00" + }, + { + "name": "psr/log", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" + }, + { + "name": "revolt/event-loop", + "version": "v1.0.9", + "source": { + "type": "git", + "url": "https://github.com/revoltphp/event-loop.git", + "reference": "44061cf513e53c6200372fc935ac42271566295d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/44061cf513e53c6200372fc935ac42271566295d", + "reference": "44061cf513e53c6200372fc935ac42271566295d", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "ext-json": "*", + "jetbrains/phpstorm-stubs": "^2019.3", + "phpunit/phpunit": "^9", + "psalm/phar": "6.16.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Revolt\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "ceesjank@gmail.com" + }, + { + "name": "Christian Lück", + "email": "christian@clue.engineering" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "Rock-solid event loop for concurrent PHP applications.", + "keywords": [ + "async", + "asynchronous", + "concurrency", + "event", + "event-loop", + "non-blocking", + "scheduler" + ], + "support": { + "issues": "https://github.com/revoltphp/event-loop/issues", + "source": "https://github.com/revoltphp/event-loop/tree/v1.0.9" + }, + "time": "2026-05-16T17:55:38+00:00" + }, + { + "name": "sebastian/diff", + "version": "5.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0", + "symfony/process": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T07:15:17+00:00" + }, + { + "name": "spatie/array-to-xml", + "version": "3.4.4", + "source": { + "type": "git", + "url": "https://github.com/spatie/array-to-xml.git", + "reference": "88b2f3852a922dd73177a68938f8eb2ec70c7224" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/88b2f3852a922dd73177a68938f8eb2ec70c7224", + "reference": "88b2f3852a922dd73177a68938f8eb2ec70c7224", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "php": "^8.0" + }, + "require-dev": { + "mockery/mockery": "^1.2", + "pestphp/pest": "^1.21", + "spatie/pest-plugin-snapshots": "^1.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spatie\\ArrayToXml\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://freek.dev", + "role": "Developer" + } + ], + "description": "Convert an array to xml", + "homepage": "https://github.com/spatie/array-to-xml", + "keywords": [ + "array", + "convert", + "xml" + ], + "support": { + "source": "https://github.com/spatie/array-to-xml/tree/3.4.4" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2025-12-15T09:00:41+00:00" + }, + { + "name": "symfony/console", + "version": "v6.4.41", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "d21b17ed158e79180fac3895ff751707970eeb57" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/d21b17ed158e79180fac3895ff751707970eeb57", + "reference": "d21b17ed158e79180fac3895ff751707970eeb57", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0|^7.0" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v6.4.41" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-05-24T08:48:41+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.7.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/50f59d1f3ca46d41ac911f97a78626b6756af35b", + "reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.7-dev" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.7.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-13T15:52:40+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v6.4.39", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "c507b077756b4e3e09adbbe7975fac81cd3722ca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/c507b077756b4e3e09adbbe7975fac81cd3722ca", + "reference": "c507b077756b4e3e09adbbe7975fac81cd3722ca", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "require-dev": { + "symfony/process": "^5.4|^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v6.4.39" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-05-07T13:11:42+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.37.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "141046a8f9477948ff284fa65be2095baafb94f2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/141046a8f9477948ff284fa65be2095baafb94f2", + "reference": "141046a8f9477948ff284fa65be2095baafb94f2", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.37.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-10T16:19:22+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.38.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "e9247d281d694a5120554d9afaf54e070e88a603" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/e9247d281d694a5120554d9afaf54e070e88a603", + "reference": "e9247d281d694a5120554d9afaf54e070e88a603", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.38.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-05-26T05:58:03+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.38.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "2d446c214bdbe5b71bde5011b060a05fece3ae6b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/2d446c214bdbe5b71bde5011b060a05fece3ae6b", + "reference": "2d446c214bdbe5b71bde5011b060a05fece3ae6b", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.38.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-05-25T13:48:31+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.38.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "14c5439eec4ccff081ac14eca2dc57feb2a66d92" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/14c5439eec4ccff081ac14eca2dc57feb2a66d92", + "reference": "14c5439eec4ccff081ac14eca2dc57feb2a66d92", + "shasum": "" + }, + "require": { + "ext-iconv": "*", + "php": ">=7.2" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.38.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-05-26T12:51:13+00:00" + }, + { + "name": "symfony/polyfill-php84", + "version": "v1.38.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php84.git", + "reference": "f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa", + "reference": "f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php84\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php84/tree/v1.38.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-05-26T12:51:13+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.7.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "d25d82433a80eba6aa0e6c24b61d7370d99e444a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d25d82433a80eba6aa0e6c24b61d7370d99e444a", + "reference": "d25d82433a80eba6aa0e6c24b61d7370d99e444a", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.7-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.7.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-03-28T09:44:51+00:00" + }, + { + "name": "symfony/string", + "version": "v6.4.39", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "62e3c927de664edadb5bef260987eb047a17a113" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/62e3c927de664edadb5bef260987eb047a17a113", + "reference": "62e3c927de664edadb5bef260987eb047a17a113", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/intl": "^6.2|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v6.4.39" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-05-12T11:44:19+00:00" + }, + { + "name": "vimeo/psalm", + "version": "6.16.1", + "source": { + "type": "git", + "url": "https://github.com/vimeo/psalm.git", + "reference": "f1f5de594dc76faf8784e02d3dc4716c91c6f6ac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/f1f5de594dc76faf8784e02d3dc4716c91c6f6ac", + "reference": "f1f5de594dc76faf8784e02d3dc4716c91c6f6ac", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/parallel": "^2.3", + "composer-runtime-api": "^2", + "composer/semver": "^1.4 || ^2.0 || ^3.0", + "composer/xdebug-handler": "^2.0 || ^3.0", + "danog/advanced-json-rpc": "^3.1", + "dnoegel/php-xdg-base-dir": "^0.1.1", + "ext-ctype": "*", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-simplexml": "*", + "ext-tokenizer": "*", + "felixfbecker/language-server-protocol": "^1.5.3", + "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1 || ^1.0.0", + "netresearch/jsonmapper": "^5.0", + "nikic/php-parser": "^5.0.0", + "php": "~8.1.31 || ~8.2.27 || ~8.3.16 || ~8.4.3 || ~8.5.0", + "sebastian/diff": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0", + "spatie/array-to-xml": "^2.17.0 || ^3.0", + "symfony/console": "^6.0 || ^7.0 || ^8.0", + "symfony/filesystem": "~6.3.12 || ~6.4.3 || ^7.0.3 || ^8.0", + "symfony/polyfill-php84": "^1.31.0" + }, + "provide": { + "psalm/psalm": "self.version" + }, + "require-dev": { + "amphp/phpunit-util": "^3", + "bamarni/composer-bin-plugin": "^1.4", + "brianium/paratest": "^6.9", + "danog/class-finder": "^0.4.8", + "dg/bypass-finals": "^1.5", + "ext-curl": "*", + "mockery/mockery": "^1.5", + "nunomaduro/mock-final-classes": "^1.1", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/phpdoc-parser": "^1.6", + "phpunit/phpunit": "^9.6", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.19", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.6", + "symfony/process": "^6.0 || ^7.0 || ^8.0" + }, + "suggest": { + "ext-curl": "In order to send data to shepherd", + "ext-igbinary": "^2.0.5 is required, used to serialize caching data" + }, + "bin": [ + "psalm", + "psalm-language-server", + "psalm-plugin", + "psalm-refactor", + "psalm-review", + "psalter" + ], + "type": "project", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev", + "dev-2.x": "2.x-dev", + "dev-3.x": "3.x-dev", + "dev-4.x": "4.x-dev", + "dev-5.x": "5.x-dev", + "dev-6.x": "6.x-dev", + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psalm\\": "src/Psalm/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthew Brown" + }, + { + "name": "Daniil Gentili", + "email": "daniil@daniil.it" + } + ], + "description": "A static analysis tool for finding errors in PHP applications", + "keywords": [ + "code", + "inspection", + "php", + "static analysis" + ], + "support": { + "docs": "https://psalm.dev/docs", + "issues": "https://github.com/vimeo/psalm/issues", + "source": "https://github.com/vimeo/psalm" + }, + "time": "2026-03-19T10:56:09+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.12.1", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "9be6926d8b485f55b9229203f962b51ed377ba68" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/9be6926d8b485f55b9229203f962b51ed377ba68", + "reference": "9be6926d8b485f55b9229203f962b51ed377ba68", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-date": "*", + "ext-filter": "*", + "php": "^7.2 || ^8.0" + }, + "suggest": { + "ext-intl": "", + "ext-simplexml": "", + "ext-spl": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.12.1" + }, + "time": "2025-10-29T15:56:20+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": {}, + "prefer-stable": false, + "prefer-lowest": false, + "platform": {}, + "platform-dev": {}, + "platform-overrides": { + "php": "8.1.31" + }, + "plugin-api-version": "2.9.0" +} From c71b1e975d7aeff054db58126d2398e3f0b95faf Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Thu, 4 Jun 2026 11:31:48 +0200 Subject: [PATCH 4/6] chore: build assets Signed-off-by: Thomas Citharel --- css/registration-settings.css | 2 +- ...rYFB.chunk.css => settings-BxZNcHty.chunk.css} | 2 +- js/logger-D3RVzcfQ-CgMhrvdR.chunk.mjs | 15 +++++++++++++++ ...=> logger-D3RVzcfQ-CgMhrvdR.chunk.mjs.license} | 12 ++++++------ js/logger-D3RVzcfQ-CgMhrvdR.chunk.mjs.map | 1 + ...ogger-D3RVzcfQ-CgMhrvdR.chunk.mjs.map.license} | 12 ++++++------ js/logger-D3RVzcfQ-kM2LrXKi.chunk.mjs | 15 --------------- js/logger-D3RVzcfQ-kM2LrXKi.chunk.mjs.map | 1 - js/registration-form.mjs | 2 +- js/registration-form.mjs.license | 2 +- js/registration-form.mjs.map.license | 2 +- js/registration-settings.mjs | 6 +++--- js/registration-settings.mjs.license | 2 +- js/registration-settings.mjs.map | 2 +- js/registration-settings.mjs.map.license | 2 +- 15 files changed, 39 insertions(+), 39 deletions(-) rename css/{settings-LzDXrYFB.chunk.css => settings-BxZNcHty.chunk.css} (69%) create mode 100644 js/logger-D3RVzcfQ-CgMhrvdR.chunk.mjs rename js/{logger-D3RVzcfQ-kM2LrXKi.chunk.mjs.map.license => logger-D3RVzcfQ-CgMhrvdR.chunk.mjs.license} (94%) create mode 100644 js/logger-D3RVzcfQ-CgMhrvdR.chunk.mjs.map rename js/{logger-D3RVzcfQ-kM2LrXKi.chunk.mjs.license => logger-D3RVzcfQ-CgMhrvdR.chunk.mjs.map.license} (94%) delete mode 100644 js/logger-D3RVzcfQ-kM2LrXKi.chunk.mjs delete mode 100644 js/logger-D3RVzcfQ-kM2LrXKi.chunk.mjs.map diff --git a/css/registration-settings.css b/css/registration-settings.css index 982cd9cb..e96f1677 100644 --- a/css/registration-settings.css +++ b/css/registration-settings.css @@ -1,3 +1,3 @@ /* extracted by css-entry-points-plugin */ -@import './settings-LzDXrYFB.chunk.css'; +@import './settings-BxZNcHty.chunk.css'; @import './logger-D3RVzcfQ-FxLxpF9P.chunk.css'; \ No newline at end of file diff --git a/css/settings-LzDXrYFB.chunk.css b/css/settings-BxZNcHty.chunk.css similarity index 69% rename from css/settings-LzDXrYFB.chunk.css rename to css/settings-BxZNcHty.chunk.css index 82f8066c..e0d46bcc 100644 --- a/css/settings-LzDXrYFB.chunk.css +++ b/css/settings-BxZNcHty.chunk.css @@ -1,4 +1,4 @@ -@media only screen and (max-width:512px){.dialog__modal .modal-wrapper--small .modal-container{width:fit-content;height:unset;max-height:90%;position:relative;top:unset;border-radius:var(--border-radius-element)}}.material-design-icon[data-v-24e91b99]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.dialog[data-v-24e91b99]{height:100%;width:100%;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.dialog__modal[data-v-24e91b99] .modal-wrapper .modal-container{display:flex!important;padding-block:4px 0;padding-inline:12px 0}.dialog__modal[data-v-24e91b99] .modal-wrapper .modal-container__content{display:flex;flex-direction:column;overflow:hidden}.dialog__wrapper[data-v-24e91b99]{display:flex;flex-direction:row;flex:1;min-height:0;overflow:hidden}.dialog__wrapper--collapsed[data-v-24e91b99]{flex-direction:column}.dialog__navigation[data-v-24e91b99]{display:flex;flex-shrink:0}.dialog__wrapper:not(.dialog__wrapper--collapsed) .dialog__navigation[data-v-24e91b99]{flex-direction:column;overflow:hidden auto;height:100%;min-width:200px;margin-inline-end:20px}.dialog__wrapper.dialog__wrapper--collapsed .dialog__navigation[data-v-24e91b99]{flex-direction:row;justify-content:space-between;overflow:auto hidden;width:100%;min-width:100%}.dialog__name[data-v-24e91b99]{font-size:21px;text-align:center;height:fit-content;min-height:var(--default-clickable-area);line-height:var(--default-clickable-area);overflow-wrap:break-word;margin-block:0 12px}.dialog__content[data-v-24e91b99]{flex:1;min-height:0;overflow:auto;padding-inline-end:12px}.dialog__text[data-v-24e91b99]{padding-block-end:6px}.dialog__actions[data-v-24e91b99]{display:flex;gap:6px;align-content:center;justify-content:end;width:100%;max-width:100%;padding-inline:0 12px;margin-inline:0;margin-block:0}.dialog__actions[data-v-24e91b99]:not(:empty){margin-block:6px 12px}@media only screen and (max-width:512px){.dialog__name[data-v-24e91b99]{text-align:start;margin-inline-end:var(--default-clickable-area)}}.material-design-icon[data-v-cf399190]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.loading-icon[data-v-cf399190]{overflow:hidden}.loading-icon svg[data-v-cf399190]{animation:rotate var(--animation-duration, .8s) linear infinite}.material-design-icon[data-v-3c357e2d]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-3c357e2d]{position:fixed;z-index:9998;top:0;inset-inline-start:0;display:block;width:100%;height:100%;--backdrop-color: 0, 0, 0;background-color:rgba(var(--backdrop-color),.5)}.modal-mask[data-v-3c357e2d],.modal-mask[data-v-3c357e2d] *{box-sizing:border-box}.modal-mask--opaque[data-v-3c357e2d]{background-color:rgba(var(--backdrop-color),.92)}.modal-mask--light[data-v-3c357e2d]{--backdrop-color: 255, 255, 255}.modal-header[data-v-3c357e2d]{position:absolute;z-index:10001;top:0;inset-inline:0 0;display:flex!important;align-items:center;justify-content:space-between;width:100%;height:var(--header-height);overflow:hidden;transition:opacity .25s,visibility .25s}.modal-header__name[data-v-3c357e2d]{overflow-x:hidden;width:100%;padding-inline:12px 0;transition:padding ease .1s;white-space:nowrap;text-overflow:ellipsis;font-size:16px;margin-block:0}@media only screen and (min-width:1024px){.modal-header__name[data-v-3c357e2d]{padding-inline-start:calc(var(--header-height) * var(--v046d2bb2));text-align:center}}.modal-header .icons-menu[data-v-3c357e2d]{display:flex;align-items:center;justify-content:flex-end;align-self:flex-end}.modal-header .icons-menu .header-close[data-v-3c357e2d]{display:flex;align-items:center;justify-content:center;margin:calc((var(--header-height) - var(--default-clickable-area)) / 2);padding:0}.modal-header .icons-menu .play-pause-icons[data-v-3c357e2d]{position:relative;width:var(--header-height);height:var(--header-height);margin:0;padding:0;cursor:pointer;border:none;background-color:transparent}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__icon[data-v-3c357e2d],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__icon[data-v-3c357e2d]{opacity:1;border-radius:calc(var(--default-clickable-area) / 2);background-color:#7f7f7f40}.modal-header .icons-menu .play-pause-icons__icon[data-v-3c357e2d]{width:var(--default-clickable-area);height:var(--default-clickable-area);margin:calc((var(--header-height) - var(--default-clickable-area)) / 2);cursor:pointer;opacity:.7}.modal-header .icons-menu[data-v-3c357e2d] .action-item{margin:calc((var(--header-height) - var(--default-clickable-area)) / 2)}.modal-header .icons-menu[data-v-3c357e2d] .action-item--single{width:var(--default-clickable-area);height:var(--default-clickable-area);cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu .header-actions[data-v-3c357e2d] button:focus-visible{box-shadow:none!important;outline:2px solid #fff!important}.modal-wrapper[data-v-3c357e2d]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.modal-wrapper .prev[data-v-3c357e2d],.modal-wrapper .next[data-v-3c357e2d]{z-index:10000;height:35vh;min-height:300px;position:absolute;transition:opacity .25s;color:#fff}.modal-wrapper .prev[data-v-3c357e2d]:focus-visible,.modal-wrapper .next[data-v-3c357e2d]:focus-visible{box-shadow:0 0 0 2px var(--color-primary-element-text);background-color:var(--color-box-shadow)}.modal-wrapper .prev[data-v-3c357e2d]{inset-inline-start:2px}.modal-wrapper .next[data-v-3c357e2d]{inset-inline-end:2px}.modal-wrapper .modal-container[data-v-3c357e2d]{position:relative;display:flex;padding:0;transition:transform .3s ease;border-radius:var(--border-radius-container);background-color:var(--color-main-background);color:var(--color-main-text);box-shadow:0 0 40px #0003;overflow:auto}.modal-wrapper .modal-container__close[data-v-3c357e2d]{z-index:1;position:absolute;top:4px;inset-inline-end:var(--default-grid-baseline)}.modal-wrapper .modal-container__content[data-v-3c357e2d]{width:100%;min-height:52px;overflow:auto}.modal-wrapper--small>.modal-container[data-v-3c357e2d]{width:400px;max-width:90%;max-height:min(90%,100% - 2 * var(--header-height) - 2 * var(--body-container-margin))}.modal-wrapper--normal>.modal-container[data-v-3c357e2d]{max-width:90%;width:600px;max-height:min(90%,100% - 2 * var(--header-height) - 2 * var(--body-container-margin))}.modal-wrapper--large>.modal-container[data-v-3c357e2d]{max-width:90%;width:900px;max-height:min(90%,100% - 2 * var(--header-height) - 2 * var(--body-container-margin))}.modal-wrapper--full>.modal-container[data-v-3c357e2d]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:var(--header-height);border-radius:0}@media only screen and (max-width:512px)or (max-height:400px){.modal-wrapper .modal-container[data-v-3c357e2d]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:var(--header-height);border-radius:0}}.fade-enter-active[data-v-3c357e2d],.fade-leave-active[data-v-3c357e2d]{transition:opacity .25s}.fade-enter-from[data-v-3c357e2d],.fade-leave-to[data-v-3c357e2d]{opacity:0}.fade-visibility-enter-from[data-v-3c357e2d],.fade-visibility-leave-to[data-v-3c357e2d]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-3c357e2d],.modal-in-leave-active[data-v-3c357e2d],.modal-out-enter-active[data-v-3c357e2d],.modal-out-leave-active[data-v-3c357e2d]{transition:opacity .25s}.modal-in-enter-from[data-v-3c357e2d],.modal-in-leave-to[data-v-3c357e2d],.modal-out-enter-from[data-v-3c357e2d],.modal-out-leave-to[data-v-3c357e2d]{opacity:0}.modal-in-enter .modal-container[data-v-3c357e2d],.modal-in-leave-to .modal-container[data-v-3c357e2d]{transform:scale(.9)}.modal-out-enter .modal-container[data-v-3c357e2d],.modal-out-leave-to .modal-container[data-v-3c357e2d]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-3c357e2d]{position:absolute;top:0;inset-inline-start:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-3c357e2d]{transition:.1s stroke-dashoffset;transform-origin:50% 50%;animation:progressring-3c357e2d linear var(--v71f7c020) infinite;stroke-linecap:round;stroke-dashoffset:94.2477796077;stroke-dasharray:94.2477796077}.modal-mask .play-pause-icons--paused .play-pause-icons__icon[data-v-3c357e2d]{animation:breath-3c357e2d 2s cubic-bezier(.4,0,.2,1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-3c357e2d]{animation-play-state:paused!important}@keyframes progressring-3c357e2d{0%{stroke-dashoffset:94.2477796077}to{stroke-dashoffset:0}}@keyframes breath-3c357e2d{0%{opacity:1}50%{opacity:0}to{opacity:1}}.material-design-icon[data-v-5f7eed6b]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-items[data-v-5f7eed6b]{display:flex;align-items:center;gap:calc((var(--default-clickable-area) - 16px) / 2 / 2)}.action-item[data-v-5f7eed6b]{--open-background-color: var(--color-background-hover, $action-background-hover);position:relative;display:inline-block}.action-item.action-item--primary[data-v-5f7eed6b]{--open-background-color: var(--color-primary-element-hover)}.action-item.action-item--secondary[data-v-5f7eed6b]{--open-background-color: var(--color-primary-element-light-hover)}.action-item.action-item--error[data-v-5f7eed6b]{--open-background-color: var(--color-error-hover)}.action-item.action-item--warning[data-v-5f7eed6b]{--open-background-color: var(--color-warning-hover)}.action-item.action-item--success[data-v-5f7eed6b]{--open-background-color: var(--color-success-hover)}.action-item.action-item--tertiary-no-background[data-v-5f7eed6b]{--open-background-color: transparent}.action-item.action-item--open .action-item__menutoggle[data-v-5f7eed6b]{background-color:var(--open-background-color)}.action-item__menutoggle__icon[data-v-5f7eed6b]{width:20px;height:20px;object-fit:contain}.v-popper--theme-nc-popover-9.v-popper__popper.action-item__popper .v-popper__wrapper{border-radius:var(--border-radius-element)}.v-popper--theme-nc-popover-9.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner{border-radius:var(--border-radius-element);padding:4px;max-height:calc(100vh - var(--header-height));overflow:auto}._material-design-icon_FKPyJ{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}._ncPopover_HjJ88.v-popper--theme-nc-popover-9,._ncPopover_HjJ88.v-popper--theme-nc-popover-9 *{box-sizing:border-box}._ncPopover_HjJ88.v-popper--theme-nc-popover-9 .resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}._ncPopover_HjJ88.v-popper--theme-nc-popover-9 .resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}._ncPopover_HjJ88.v-popper--theme-nc-popover-9.v-popper__popper{z-index:100000;top:0;left:0;display:block!important}._ncPopover_HjJ88.v-popper--theme-nc-popover-9.v-popper__popper .v-popper__wrapper{box-shadow:0 1px 10px var(--color-box-shadow);border-radius:var(--border-radius-element)}._ncPopover_HjJ88.v-popper--theme-nc-popover-9.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius-element);overflow:hidden;background:var(--color-main-background)}._ncPopover_HjJ88.v-popper--theme-nc-popover-9.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:transparent;border-width:10px}._ncPopover_HjJ88.v-popper--theme-nc-popover-9.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-9px;border-bottom-width:0;border-top-color:var(--color-main-background)}._ncPopover_HjJ88.v-popper--theme-nc-popover-9.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-9px;border-top-width:0;border-bottom-color:var(--color-main-background)}._ncPopover_HjJ88.v-popper--theme-nc-popover-9.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-9px;border-left-width:0;border-right-color:var(--color-main-background)}._ncPopover_HjJ88.v-popper--theme-nc-popover-9.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-9px;border-right-width:0;border-left-color:var(--color-main-background)}._ncPopover_HjJ88.v-popper--theme-nc-popover-9.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}._ncPopover_HjJ88.v-popper--theme-nc-popover-9.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}.material-design-icon[data-v-5ca1e30f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.checkbox-content[data-v-5ca1e30f]{display:flex;align-items:center;flex-direction:row;gap:var(--default-grid-baseline);-webkit-user-select:none;user-select:none;min-height:var(--default-clickable-area);border-radius:var(--checkbox-radio-switch--border-radius);padding:var(--default-grid-baseline) calc((var(--default-clickable-area) - var(--icon-height)) / 2);width:100%;max-width:fit-content}.checkbox-content__wrapper[data-v-5ca1e30f]{flex:1 0 0;max-width:100%}.checkbox-content__text[data-v-5ca1e30f]:empty{display:none}.checkbox-content-checkbox:not(.checkbox-content--button-variant) .checkbox-content__icon[data-v-5ca1e30f],.checkbox-content-radio:not(.checkbox-content--button-variant) .checkbox-content__icon[data-v-5ca1e30f],.checkbox-content-switch:not(.checkbox-content--button-variant) .checkbox-content__icon[data-v-5ca1e30f]{margin-block:calc((var(--default-clickable-area) - 2 * var(--default-grid-baseline) - var(--icon-height)) / 2) auto;line-height:0}.checkbox-content-checkbox:not(.checkbox-content--button-variant) .checkbox-content__icon--has-description[data-v-5ca1e30f],.checkbox-content-radio:not(.checkbox-content--button-variant) .checkbox-content__icon--has-description[data-v-5ca1e30f],.checkbox-content-switch:not(.checkbox-content--button-variant) .checkbox-content__icon--has-description[data-v-5ca1e30f]{display:flex;align-items:center;margin-block-end:0;align-self:start}.checkbox-content__icon[data-v-5ca1e30f]>*{width:var(--icon-size);height:var(--icon-height);color:var(--color-primary-element)}.checkbox-content__description[data-v-5ca1e30f]{display:block;color:var(--color-text-maxcontrast);font-weight:var(--font-weight-default, normal)}.checkbox-content--button-variant .checkbox-content__icon[data-v-5ca1e30f]:not(.checkbox-content__icon--checked)>*{color:var(--color-primary-element)}.checkbox-content--button-variant .checkbox-content__icon--checked[data-v-5ca1e30f]>*{color:var(--color-primary-element-text)}.checkbox-content--has-text[data-v-5ca1e30f]{padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2)}.checkbox-content[data-v-5ca1e30f],.checkbox-content[data-v-5ca1e30f] *{cursor:pointer;flex-shrink:0}.material-design-icon[data-v-c34c63a4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.checkbox-radio-switch[data-v-c34c63a4]{--icon-size: var(--v5ac25550);--icon-height: var(--d98ce684);--checkbox-radio-switch--border-radius: var(--border-radius-element);--checkbox-radio-switch--border-radius-outer: calc(var(--checkbox-radio-switch--border-radius) + 2px);display:flex;align-items:center;color:var(--color-main-text);background-color:transparent;font-size:var(--default-font-size);font-weight:var(--font-weight-element, normal);line-height:var(--default-line-height);padding:0;position:relative}.checkbox-radio-switch__input[data-v-c34c63a4]{position:absolute;z-index:-1;opacity:0!important;width:var(--icon-size);height:var(--icon-size)}.checkbox-radio-switch__input:focus-visible+.checkbox-radio-switch__content[data-v-c34c63a4],.checkbox-radio-switch__input[data-v-c34c63a4]:focus-visible{outline:2px solid var(--color-main-text);border-color:var(--color-main-background);outline-offset:-2px}.checkbox-radio-switch--disabled .checkbox-radio-switch__content[data-v-c34c63a4]{opacity:.5}.checkbox-radio-switch--disabled .checkbox-radio-switch__content[data-v-c34c63a4] .checkbox-radio-switch__icon>*{color:var(--color-main-text)}.checkbox-radio-switch--disabled .checkbox-radio-switch__content.checkbox-content[data-v-c34c63a4],.checkbox-radio-switch--disabled .checkbox-radio-switch__content.checkbox-content[data-v-c34c63a4] *:not(a){cursor:default!important}.checkbox-radio-switch:not(.checkbox-radio-switch--disabled,.checkbox-radio-switch--checked):focus-within .checkbox-radio-switch__content[data-v-c34c63a4],.checkbox-radio-switch:not(.checkbox-radio-switch--disabled,.checkbox-radio-switch--checked) .checkbox-radio-switch__content[data-v-c34c63a4]:hover{background-color:var(--color-background-hover)}.checkbox-radio-switch--checked:not(.checkbox-radio-switch--disabled):focus-within .checkbox-radio-switch__content[data-v-c34c63a4],.checkbox-radio-switch--checked:not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__content[data-v-c34c63a4]:hover{background-color:var(--color-primary-element-hover)}.checkbox-radio-switch--checked:not(.checkbox-radio-switch--button-variant):not(.checkbox-radio-switch--disabled):focus-within .checkbox-radio-switch__content[data-v-c34c63a4],.checkbox-radio-switch--checked:not(.checkbox-radio-switch--button-variant):not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__content[data-v-c34c63a4]:hover{background-color:var(--color-primary-element-light-hover)}.checkbox-radio-switch-switch[data-v-c34c63a4]:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon>*{color:var(--color-text-maxcontrast)}.checkbox-radio-switch-switch.checkbox-radio-switch--disabled.checkbox-radio-switch--checked[data-v-c34c63a4] .checkbox-radio-switch__icon>*{color:var(--color-primary-element-light)}.checkbox-radio-switch--button-variant.checkbox-radio-switch[data-v-c34c63a4]{background-color:var(--color-main-background);border:2px solid var(--color-border-maxcontrast);overflow:hidden}.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked[data-v-c34c63a4]{font-weight:var(--font-weight-element, bold)}.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked .checkbox-radio-switch__content[data-v-c34c63a4]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.checkbox-radio-switch--button-variant[data-v-c34c63a4] .checkbox-radio-switch__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.checkbox-radio-switch--button-variant[data-v-c34c63a4]:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon>*{color:var(--color-main-text)}.checkbox-radio-switch--button-variant[data-v-c34c63a4] .checkbox-radio-switch__icon:empty{display:none}.checkbox-radio-switch--button-variant[data-v-c34c63a4]:not(.checkbox-radio-switch--button-variant-v-grouped):not(.checkbox-radio-switch--button-variant-h-grouped),.checkbox-radio-switch--button-variant .checkbox-radio-switch__content[data-v-c34c63a4]{border-radius:var(--checkbox-radio-switch--border-radius)}.checkbox-radio-switch--button-variant-v-grouped .checkbox-radio-switch__content[data-v-c34c63a4]{flex-basis:100%;max-width:unset}.checkbox-radio-switch--button-variant-v-grouped[data-v-c34c63a4]:first-of-type{border-start-start-radius:var(--checkbox-radio-switch--border-radius-outer);border-start-end-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-v-grouped[data-v-c34c63a4]:last-of-type{border-end-start-radius:var(--checkbox-radio-switch--border-radius-outer);border-end-end-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-v-grouped[data-v-c34c63a4]:not(:last-of-type){border-bottom:0!important}.checkbox-radio-switch--button-variant-v-grouped:not(:last-of-type) .checkbox-radio-switch__content[data-v-c34c63a4]{margin-bottom:2px}.checkbox-radio-switch--button-variant-v-grouped[data-v-c34c63a4]:not(:first-of-type){border-top:0!important}.checkbox-radio-switch--button-variant-h-grouped[data-v-c34c63a4]:first-of-type{border-start-start-radius:var(--checkbox-radio-switch--border-radius-outer);border-end-start-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-h-grouped[data-v-c34c63a4]:last-of-type{border-start-end-radius:var(--checkbox-radio-switch--border-radius-outer);border-end-end-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-h-grouped[data-v-c34c63a4]:not(:last-of-type){border-inline-end:0!important}.checkbox-radio-switch--button-variant-h-grouped:not(:last-of-type) .checkbox-radio-switch__content[data-v-c34c63a4]{margin-inline-end:2px}.checkbox-radio-switch--button-variant-h-grouped[data-v-c34c63a4]:not(:first-of-type){border-inline-start:0!important}.checkbox-radio-switch--button-variant-h-grouped[data-v-c34c63a4] .checkbox-radio-switch__text{text-align:center;display:flex;align-items:center}.checkbox-radio-switch--button-variant-h-grouped .checkbox-radio-switch__content[data-v-c34c63a4]{flex-direction:column;justify-content:center;width:100%;margin:0;gap:0}._material-design-icon_ZYrc5{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}._iconToggleSwitch_WgcOx{color:var(--v6bd152af);transition:color var(--animation-quick) ease}._iconToggleSwitch_WgcOx svg{height:auto!important}._iconToggleSwitch_WgcOx circle{cx:var(--v16fd8ca9);transition:cx var(--animation-quick) ease}.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}/*! +@media only screen and (max-width:512px){.dialog__modal .modal-wrapper--small .modal-container{width:fit-content;height:unset;max-height:90%;position:relative;top:unset;border-radius:var(--border-radius-element)}}.material-design-icon[data-v-24e91b99]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.dialog[data-v-24e91b99]{height:100%;width:100%;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.dialog__modal[data-v-24e91b99] .modal-wrapper .modal-container{display:flex!important;padding-block:4px 0;padding-inline:12px 0}.dialog__modal[data-v-24e91b99] .modal-wrapper .modal-container__content{display:flex;flex-direction:column;overflow:hidden}.dialog__wrapper[data-v-24e91b99]{display:flex;flex-direction:row;flex:1;min-height:0;overflow:hidden}.dialog__wrapper--collapsed[data-v-24e91b99]{flex-direction:column}.dialog__navigation[data-v-24e91b99]{display:flex;flex-shrink:0}.dialog__wrapper:not(.dialog__wrapper--collapsed) .dialog__navigation[data-v-24e91b99]{flex-direction:column;overflow:hidden auto;height:100%;min-width:200px;margin-inline-end:20px}.dialog__wrapper.dialog__wrapper--collapsed .dialog__navigation[data-v-24e91b99]{flex-direction:row;justify-content:space-between;overflow:auto hidden;width:100%;min-width:100%}.dialog__name[data-v-24e91b99]{font-size:21px;text-align:center;height:fit-content;min-height:var(--default-clickable-area);line-height:var(--default-clickable-area);overflow-wrap:break-word;margin-block:0 12px}.dialog__content[data-v-24e91b99]{flex:1;min-height:0;overflow:auto;padding-inline-end:12px}.dialog__text[data-v-24e91b99]{padding-block-end:6px}.dialog__actions[data-v-24e91b99]{display:flex;gap:6px;align-content:center;justify-content:end;width:100%;max-width:100%;padding-inline:0 12px;margin-inline:0;margin-block:0}.dialog__actions[data-v-24e91b99]:not(:empty){margin-block:6px 12px}@media only screen and (max-width:512px){.dialog__name[data-v-24e91b99]{text-align:start;margin-inline-end:var(--default-clickable-area)}}.material-design-icon[data-v-cf399190]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.loading-icon[data-v-cf399190]{overflow:hidden}.loading-icon svg[data-v-cf399190]{animation:rotate var(--animation-duration, .8s) linear infinite}.material-design-icon[data-v-3c357e2d]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-3c357e2d]{position:fixed;z-index:9998;top:0;inset-inline-start:0;display:block;width:100%;height:100%;--backdrop-color: 0, 0, 0;background-color:rgba(var(--backdrop-color),.5)}.modal-mask[data-v-3c357e2d],.modal-mask[data-v-3c357e2d] *{box-sizing:border-box}.modal-mask--opaque[data-v-3c357e2d]{background-color:rgba(var(--backdrop-color),.92)}.modal-mask--light[data-v-3c357e2d]{--backdrop-color: 255, 255, 255}.modal-header[data-v-3c357e2d]{position:absolute;z-index:10001;top:0;inset-inline:0 0;display:flex!important;align-items:center;justify-content:space-between;width:100%;height:var(--header-height);overflow:hidden;transition:opacity .25s,visibility .25s}.modal-header__name[data-v-3c357e2d]{overflow-x:hidden;width:100%;padding-inline:12px 0;transition:padding ease .1s;white-space:nowrap;text-overflow:ellipsis;font-size:16px;margin-block:0}@media only screen and (min-width:1024px){.modal-header__name[data-v-3c357e2d]{padding-inline-start:calc(var(--header-height) * var(--v046d2bb2));text-align:center}}.modal-header .icons-menu[data-v-3c357e2d]{display:flex;align-items:center;justify-content:flex-end;align-self:flex-end}.modal-header .icons-menu .header-close[data-v-3c357e2d]{display:flex;align-items:center;justify-content:center;margin:calc((var(--header-height) - var(--default-clickable-area)) / 2);padding:0}.modal-header .icons-menu .play-pause-icons[data-v-3c357e2d]{position:relative;width:var(--header-height);height:var(--header-height);margin:0;padding:0;cursor:pointer;border:none;background-color:transparent}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__icon[data-v-3c357e2d],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__icon[data-v-3c357e2d]{opacity:1;border-radius:calc(var(--default-clickable-area) / 2);background-color:#7f7f7f40}.modal-header .icons-menu .play-pause-icons__icon[data-v-3c357e2d]{width:var(--default-clickable-area);height:var(--default-clickable-area);margin:calc((var(--header-height) - var(--default-clickable-area)) / 2);cursor:pointer;opacity:.7}.modal-header .icons-menu[data-v-3c357e2d] .action-item{margin:calc((var(--header-height) - var(--default-clickable-area)) / 2)}.modal-header .icons-menu[data-v-3c357e2d] .action-item--single{width:var(--default-clickable-area);height:var(--default-clickable-area);cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu .header-actions[data-v-3c357e2d] button:focus-visible{box-shadow:none!important;outline:2px solid #fff!important}.modal-wrapper[data-v-3c357e2d]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.modal-wrapper .prev[data-v-3c357e2d],.modal-wrapper .next[data-v-3c357e2d]{z-index:10000;height:35vh;min-height:300px;position:absolute;transition:opacity .25s;color:#fff}.modal-wrapper .prev[data-v-3c357e2d]:focus-visible,.modal-wrapper .next[data-v-3c357e2d]:focus-visible{box-shadow:0 0 0 2px var(--color-primary-element-text);background-color:var(--color-box-shadow)}.modal-wrapper .prev[data-v-3c357e2d]{inset-inline-start:2px}.modal-wrapper .next[data-v-3c357e2d]{inset-inline-end:2px}.modal-wrapper .modal-container[data-v-3c357e2d]{position:relative;display:flex;padding:0;transition:transform .3s ease;border-radius:var(--border-radius-container);background-color:var(--color-main-background);color:var(--color-main-text);box-shadow:0 0 40px #0003;overflow:auto}.modal-wrapper .modal-container__close[data-v-3c357e2d]{z-index:1;position:absolute;top:4px;inset-inline-end:var(--default-grid-baseline)}.modal-wrapper .modal-container__content[data-v-3c357e2d]{width:100%;min-height:52px;overflow:auto}.modal-wrapper--small>.modal-container[data-v-3c357e2d]{width:400px;max-width:90%;max-height:min(90%,100% - 2 * var(--header-height) - 2 * var(--body-container-margin))}.modal-wrapper--normal>.modal-container[data-v-3c357e2d]{max-width:90%;width:600px;max-height:min(90%,100% - 2 * var(--header-height) - 2 * var(--body-container-margin))}.modal-wrapper--large>.modal-container[data-v-3c357e2d]{max-width:90%;width:900px;max-height:min(90%,100% - 2 * var(--header-height) - 2 * var(--body-container-margin))}.modal-wrapper--full>.modal-container[data-v-3c357e2d]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:var(--header-height);border-radius:0}@media only screen and ((max-width:512px)or (max-height:400px)){.modal-wrapper .modal-container[data-v-3c357e2d]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:var(--header-height);border-radius:0}}.fade-enter-active[data-v-3c357e2d],.fade-leave-active[data-v-3c357e2d]{transition:opacity .25s}.fade-enter-from[data-v-3c357e2d],.fade-leave-to[data-v-3c357e2d]{opacity:0}.fade-visibility-enter-from[data-v-3c357e2d],.fade-visibility-leave-to[data-v-3c357e2d]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-3c357e2d],.modal-in-leave-active[data-v-3c357e2d],.modal-out-enter-active[data-v-3c357e2d],.modal-out-leave-active[data-v-3c357e2d]{transition:opacity .25s}.modal-in-enter-from[data-v-3c357e2d],.modal-in-leave-to[data-v-3c357e2d],.modal-out-enter-from[data-v-3c357e2d],.modal-out-leave-to[data-v-3c357e2d]{opacity:0}.modal-in-enter .modal-container[data-v-3c357e2d],.modal-in-leave-to .modal-container[data-v-3c357e2d]{transform:scale(.9)}.modal-out-enter .modal-container[data-v-3c357e2d],.modal-out-leave-to .modal-container[data-v-3c357e2d]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-3c357e2d]{position:absolute;top:0;inset-inline-start:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-3c357e2d]{transition:.1s stroke-dashoffset;transform-origin:50% 50%;animation:progressring-3c357e2d linear var(--v71f7c020) infinite;stroke-linecap:round;stroke-dashoffset:94.2477796077;stroke-dasharray:94.2477796077}.modal-mask .play-pause-icons--paused .play-pause-icons__icon[data-v-3c357e2d]{animation:breath-3c357e2d 2s cubic-bezier(.4,0,.2,1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-3c357e2d]{animation-play-state:paused!important}@keyframes progressring-3c357e2d{0%{stroke-dashoffset:94.2477796077}to{stroke-dashoffset:0}}@keyframes breath-3c357e2d{0%{opacity:1}50%{opacity:0}to{opacity:1}}.material-design-icon[data-v-5f7eed6b]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-items[data-v-5f7eed6b]{display:flex;align-items:center;gap:calc((var(--default-clickable-area) - 16px) / 2 / 2)}.action-item[data-v-5f7eed6b]{--open-background-color: var(--color-background-hover, $action-background-hover);position:relative;display:inline-block}.action-item.action-item--primary[data-v-5f7eed6b]{--open-background-color: var(--color-primary-element-hover)}.action-item.action-item--secondary[data-v-5f7eed6b]{--open-background-color: var(--color-primary-element-light-hover)}.action-item.action-item--error[data-v-5f7eed6b]{--open-background-color: var(--color-error-hover)}.action-item.action-item--warning[data-v-5f7eed6b]{--open-background-color: var(--color-warning-hover)}.action-item.action-item--success[data-v-5f7eed6b]{--open-background-color: var(--color-success-hover)}.action-item.action-item--tertiary-no-background[data-v-5f7eed6b]{--open-background-color: transparent}.action-item.action-item--open .action-item__menutoggle[data-v-5f7eed6b]{background-color:var(--open-background-color)}.action-item__menutoggle__icon[data-v-5f7eed6b]{width:20px;height:20px;object-fit:contain}.v-popper--theme-nc-popover-9.v-popper__popper.action-item__popper .v-popper__wrapper{border-radius:var(--border-radius-element)}.v-popper--theme-nc-popover-9.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner{border-radius:var(--border-radius-element);padding:4px;max-height:calc(100vh - var(--header-height));overflow:auto}._material-design-icon_Sit4G{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}._ncPopover_SapAL.v-popper--theme-nc-popover-9,._ncPopover_SapAL.v-popper--theme-nc-popover-9 *{box-sizing:border-box}._ncPopover_SapAL.v-popper--theme-nc-popover-9 .resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}._ncPopover_SapAL.v-popper--theme-nc-popover-9 .resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}._ncPopover_SapAL.v-popper--theme-nc-popover-9.v-popper__popper{z-index:100000;top:0;left:0;display:block!important}._ncPopover_SapAL.v-popper--theme-nc-popover-9.v-popper__popper .v-popper__wrapper{box-shadow:0 1px 10px var(--color-box-shadow);border-radius:var(--border-radius-element)}._ncPopover_SapAL.v-popper--theme-nc-popover-9.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius-element);overflow:hidden;background:var(--color-main-background)}._ncPopover_SapAL.v-popper--theme-nc-popover-9.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:transparent;border-width:10px}._ncPopover_SapAL.v-popper--theme-nc-popover-9.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-9px;border-bottom-width:0;border-top-color:var(--color-main-background)}._ncPopover_SapAL.v-popper--theme-nc-popover-9.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-9px;border-top-width:0;border-bottom-color:var(--color-main-background)}._ncPopover_SapAL.v-popper--theme-nc-popover-9.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-9px;border-left-width:0;border-right-color:var(--color-main-background)}._ncPopover_SapAL.v-popper--theme-nc-popover-9.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-9px;border-right-width:0;border-left-color:var(--color-main-background)}._ncPopover_SapAL.v-popper--theme-nc-popover-9.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}._ncPopover_SapAL.v-popper--theme-nc-popover-9.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}.material-design-icon[data-v-5ca1e30f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.checkbox-content[data-v-5ca1e30f]{display:flex;align-items:center;flex-direction:row;gap:var(--default-grid-baseline);-webkit-user-select:none;user-select:none;min-height:var(--default-clickable-area);border-radius:var(--checkbox-radio-switch--border-radius);padding:var(--default-grid-baseline) calc((var(--default-clickable-area) - var(--icon-height)) / 2);width:100%;max-width:fit-content}.checkbox-content__wrapper[data-v-5ca1e30f]{flex:1 0 0;max-width:100%}.checkbox-content__text[data-v-5ca1e30f]:empty{display:none}.checkbox-content-checkbox:not(.checkbox-content--button-variant) .checkbox-content__icon[data-v-5ca1e30f],.checkbox-content-radio:not(.checkbox-content--button-variant) .checkbox-content__icon[data-v-5ca1e30f],.checkbox-content-switch:not(.checkbox-content--button-variant) .checkbox-content__icon[data-v-5ca1e30f]{margin-block:calc((var(--default-clickable-area) - 2 * var(--default-grid-baseline) - var(--icon-height)) / 2) auto;line-height:0}.checkbox-content-checkbox:not(.checkbox-content--button-variant) .checkbox-content__icon--has-description[data-v-5ca1e30f],.checkbox-content-radio:not(.checkbox-content--button-variant) .checkbox-content__icon--has-description[data-v-5ca1e30f],.checkbox-content-switch:not(.checkbox-content--button-variant) .checkbox-content__icon--has-description[data-v-5ca1e30f]{display:flex;align-items:center;margin-block-end:0;align-self:start}.checkbox-content__icon[data-v-5ca1e30f]>*{width:var(--icon-size);height:var(--icon-height);color:var(--color-primary-element)}.checkbox-content__description[data-v-5ca1e30f]{display:block;color:var(--color-text-maxcontrast);font-weight:var(--font-weight-default, normal)}.checkbox-content--button-variant .checkbox-content__icon[data-v-5ca1e30f]:not(.checkbox-content__icon--checked)>*{color:var(--color-primary-element)}.checkbox-content--button-variant .checkbox-content__icon--checked[data-v-5ca1e30f]>*{color:var(--color-primary-element-text)}.checkbox-content--has-text[data-v-5ca1e30f]{padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2)}.checkbox-content[data-v-5ca1e30f],.checkbox-content[data-v-5ca1e30f] *{cursor:pointer;flex-shrink:0}.material-design-icon[data-v-c34c63a4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.checkbox-radio-switch[data-v-c34c63a4]{--icon-size: var(--v5ac25550);--icon-height: var(--d98ce684);--checkbox-radio-switch--border-radius: var(--border-radius-element);--checkbox-radio-switch--border-radius-outer: calc(var(--checkbox-radio-switch--border-radius) + 2px);display:flex;align-items:center;color:var(--color-main-text);background-color:transparent;font-size:var(--default-font-size);font-weight:var(--font-weight-element, normal);line-height:var(--default-line-height);padding:0;position:relative}.checkbox-radio-switch__input[data-v-c34c63a4]{position:absolute;z-index:-1;opacity:0!important;width:var(--icon-size);height:var(--icon-size)}.checkbox-radio-switch__input:focus-visible+.checkbox-radio-switch__content[data-v-c34c63a4],.checkbox-radio-switch__input[data-v-c34c63a4]:focus-visible{outline:2px solid var(--color-main-text);border-color:var(--color-main-background);outline-offset:-2px}.checkbox-radio-switch--disabled .checkbox-radio-switch__content[data-v-c34c63a4]{opacity:.5}.checkbox-radio-switch--disabled .checkbox-radio-switch__content[data-v-c34c63a4] .checkbox-radio-switch__icon>*{color:var(--color-main-text)}.checkbox-radio-switch--disabled .checkbox-radio-switch__content.checkbox-content[data-v-c34c63a4],.checkbox-radio-switch--disabled .checkbox-radio-switch__content.checkbox-content[data-v-c34c63a4] *:not(a){cursor:default!important}.checkbox-radio-switch:not(.checkbox-radio-switch--disabled,.checkbox-radio-switch--checked):focus-within .checkbox-radio-switch__content[data-v-c34c63a4],.checkbox-radio-switch:not(.checkbox-radio-switch--disabled,.checkbox-radio-switch--checked) .checkbox-radio-switch__content[data-v-c34c63a4]:hover{background-color:var(--color-background-hover)}.checkbox-radio-switch--checked:not(.checkbox-radio-switch--disabled):focus-within .checkbox-radio-switch__content[data-v-c34c63a4],.checkbox-radio-switch--checked:not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__content[data-v-c34c63a4]:hover{background-color:var(--color-primary-element-hover)}.checkbox-radio-switch--checked:not(.checkbox-radio-switch--button-variant):not(.checkbox-radio-switch--disabled):focus-within .checkbox-radio-switch__content[data-v-c34c63a4],.checkbox-radio-switch--checked:not(.checkbox-radio-switch--button-variant):not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__content[data-v-c34c63a4]:hover{background-color:var(--color-primary-element-light-hover)}.checkbox-radio-switch-switch[data-v-c34c63a4]:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon>*{color:var(--color-text-maxcontrast)}.checkbox-radio-switch-switch.checkbox-radio-switch--disabled.checkbox-radio-switch--checked[data-v-c34c63a4] .checkbox-radio-switch__icon>*{color:var(--color-primary-element-light)}.checkbox-radio-switch--button-variant.checkbox-radio-switch[data-v-c34c63a4]{background-color:var(--color-main-background);border:2px solid var(--color-border-maxcontrast);overflow:hidden}.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked[data-v-c34c63a4]{font-weight:var(--font-weight-element, bold)}.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked .checkbox-radio-switch__content[data-v-c34c63a4]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.checkbox-radio-switch--button-variant[data-v-c34c63a4] .checkbox-radio-switch__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.checkbox-radio-switch--button-variant[data-v-c34c63a4]:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon>*{color:var(--color-main-text)}.checkbox-radio-switch--button-variant[data-v-c34c63a4] .checkbox-radio-switch__icon:empty{display:none}.checkbox-radio-switch--button-variant[data-v-c34c63a4]:not(.checkbox-radio-switch--button-variant-v-grouped):not(.checkbox-radio-switch--button-variant-h-grouped),.checkbox-radio-switch--button-variant .checkbox-radio-switch__content[data-v-c34c63a4]{border-radius:var(--checkbox-radio-switch--border-radius)}.checkbox-radio-switch--button-variant-v-grouped .checkbox-radio-switch__content[data-v-c34c63a4]{flex-basis:100%;max-width:unset}.checkbox-radio-switch--button-variant-v-grouped[data-v-c34c63a4]:first-of-type{border-start-start-radius:var(--checkbox-radio-switch--border-radius-outer);border-start-end-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-v-grouped[data-v-c34c63a4]:last-of-type{border-end-start-radius:var(--checkbox-radio-switch--border-radius-outer);border-end-end-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-v-grouped[data-v-c34c63a4]:not(:last-of-type){border-bottom:0!important}.checkbox-radio-switch--button-variant-v-grouped:not(:last-of-type) .checkbox-radio-switch__content[data-v-c34c63a4]{margin-bottom:2px}.checkbox-radio-switch--button-variant-v-grouped[data-v-c34c63a4]:not(:first-of-type){border-top:0!important}.checkbox-radio-switch--button-variant-h-grouped[data-v-c34c63a4]:first-of-type{border-start-start-radius:var(--checkbox-radio-switch--border-radius-outer);border-end-start-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-h-grouped[data-v-c34c63a4]:last-of-type{border-start-end-radius:var(--checkbox-radio-switch--border-radius-outer);border-end-end-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-h-grouped[data-v-c34c63a4]:not(:last-of-type){border-inline-end:0!important}.checkbox-radio-switch--button-variant-h-grouped:not(:last-of-type) .checkbox-radio-switch__content[data-v-c34c63a4]{margin-inline-end:2px}.checkbox-radio-switch--button-variant-h-grouped[data-v-c34c63a4]:not(:first-of-type){border-inline-start:0!important}.checkbox-radio-switch--button-variant-h-grouped[data-v-c34c63a4] .checkbox-radio-switch__text{text-align:center;display:flex;align-items:center}.checkbox-radio-switch--button-variant-h-grouped .checkbox-radio-switch__content[data-v-c34c63a4]{flex-direction:column;justify-content:center;width:100%;margin:0;gap:0}._material-design-icon_tLFaA{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}._iconToggleSwitch_CPPoW{color:var(--v6bd152af);transition:color var(--animation-quick) ease}._iconToggleSwitch_CPPoW svg{height:auto!important}._iconToggleSwitch_CPPoW circle{cx:var(--v16fd8ca9);transition:cx var(--animation-quick) ease}.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}/*! * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */body{--vs-search-input-color: var(--color-main-text);--vs-search-input-bg: var(--color-main-background);--vs-search-input-placeholder-color: var(--color-text-maxcontrast);--vs-font-size: var(--default-font-size);--vs-line-height: var(--default-line-height);--vs-state-disabled-bg: var(--color-background-hover);--vs-state-disabled-color: var(--color-text-maxcontrast);--vs-state-disabled-controls-color: var(--color-text-maxcontrast);--vs-state-disabled-cursor: not-allowed;--vs-disabled-bg: var(--color-background-hover);--vs-disabled-color: var(--color-text-maxcontrast);--vs-disabled-cursor: not-allowed;--vs-border-color: var(--color-border-maxcontrast);--vs-border-width: var(--border-width-input, 2px) !important;--vs-border-style: solid;--vs-border-radius: var(--border-radius-element);--vs-controls-color: var(--color-main-text);--vs-selected-bg: var(--color-background-hover);--vs-selected-color: var(--color-main-text);--vs-selected-border-color: var(--vs-border-color);--vs-selected-border-style: var(--vs-border-style);--vs-selected-border-width: var(--vs-border-width);--vs-dropdown-bg: var(--color-main-background);--vs-dropdown-color: var(--color-main-text);--vs-dropdown-z-index: 9999;--vs-dropdown-box-shadow: 0px 2px 2px 0px var(--color-box-shadow);--vs-dropdown-option-padding: 8px 20px;--vs-dropdown-option--active-bg: var(--color-background-hover);--vs-dropdown-option--active-color: var(--color-main-text);--vs-dropdown-option--kb-focus-box-shadow: inset 0px 0px 0px 2px var(--vs-border-color);--vs-dropdown-option--deselect-bg: var(--color-error);--vs-dropdown-option--deselect-color: #fff;--vs-transition-duration: 0ms;--vs-actions-padding: 0 8px 0 4px}.v-select.select{min-height:calc(var(--default-clickable-area) - 2 * var(--border-width-input));min-width:260px;margin:0 0 var(--default-grid-baseline)}.v-select.select.vs--open{--vs-border-width: var(--border-width-input-focused, 2px)}.v-select.select .select__label{display:block;margin-bottom:2px}.v-select.select .vs__selected{height:calc(var(--default-clickable-area) - 2 * var(--vs-border-width) - var(--default-grid-baseline));margin:calc(var(--default-grid-baseline) / 2);padding-block:0;padding-inline:12px 8px;border-radius:16px!important;background:var(--color-primary-element-light);border:none}.v-select.select.vs--open .vs__selected:first-of-type{margin-inline-start:calc(var(--default-grid-baseline) / 2 - (var(--border-width-input-focused, 2px) - var(--border-width-input, 2px)))!important}.v-select.select .vs__search{text-overflow:ellipsis;color:var(--color-main-text);min-height:unset!important;height:calc(var(--default-clickable-area) - 2 * var(--vs-border-width))!important}.v-select.select .vs__search::placeholder{color:var(--color-text-maxcontrast)}.v-select.select .vs__search,.v-select.select .vs__search:focus{margin:0}.v-select.select .vs__dropdown-toggle{position:relative;max-height:100px;padding:var(--border-width-input);overflow-y:auto}.v-select.select .vs__actions{position:sticky;top:0}.v-select.select .vs__clear{margin-inline-end:2px}.v-select.select.vs--open .vs__dropdown-toggle{border-color:var(--color-main-text);border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0;border-style:solid;border-width:var(--border-width-input-focused);outline:2px solid var(--color-main-background);padding:0}.v-select.select:not(.vs--disabled,.vs--open) .vs__dropdown-toggle:active,.v-select.select:not(.vs--disabled,.vs--open) .vs__dropdown-toggle:focus-within{outline:2px solid var(--color-main-background);border-color:var(--color-main-text)}.v-select.select.vs--disabled .vs__search,.v-select.select.vs--disabled .vs__selected{color:var(--color-text-maxcontrast)}.v-select.select.vs--disabled .vs__clear,.v-select.select.vs--disabled .vs__deselect{display:none}.v-select.select--no-wrap .vs__selected-options{flex-wrap:nowrap;overflow:auto;min-width:unset}.v-select.select--no-wrap .vs__selected-options .vs__selected{min-width:unset}.v-select.select--drop-up.vs--open .vs__dropdown-toggle{border-radius:0 0 var(--vs-border-radius) var(--vs-border-radius);border-top-color:transparent;border-bottom-color:var(--color-main-text)}.v-select.select .vs__selected-options{min-height:calc(var(--default-clickable-area) - 2 * var(--vs-border-width))}.v-select.select .vs__selected-options .vs__selected~.vs__search[readonly]{position:absolute}.v-select.select .vs__selected-options{padding:0 5px}.v-select.select.vs--single.vs--loading .vs__selected,.v-select.select.vs--single.vs--open .vs__selected{max-width:100%;opacity:1;color:var(--color-text-maxcontrast)}.v-select.select.vs--single .vs__selected-options{flex-wrap:nowrap}.v-select.select.vs--single .vs__selected{background:unset!important}.vs__dropdown-toggle{--input-border-box-shadow-light: 0 -1px var(--vs-border-color), 0 0 0 1px color-mix(in srgb, var(--vs-border-color), 65% transparent);--input-border-box-shadow-dark: 0 1px var(--vs-border-color), 0 0 0 1px color-mix(in srgb, var(--vs-border-color), 65% transparent);--input-border-box-shadow: var(--input-border-box-shadow-light);border:none;border-radius:var(--border-radius-element);box-shadow:var(--input-border-box-shadow)}.vs__dropdown-toggle:hover:not([disabled]){box-shadow:0 0 0 1px var(--vs-border-color)}@media(prefers-color-scheme:dark){.vs__dropdown-toggle .vs__dropdown-toggle{--input-border-box-shadow: var(--input-border-box-shadow-dark)}}[data-theme-dark] .vs__dropdown-toggle{--input-border-box-shadow: var(--input-border-box-shadow-dark)}[data-theme-light] .vs__dropdown-toggle{--input-border-box-shadow: var(--input-border-box-shadow-light)}.select--legacy .vs__dropdown-toggle{box-shadow:0 0 0 1px var(--vs-border-color)}.select--legacy .vs__dropdown-toggle:hover:not([disabled]){box-shadow:0 0 0 2px var(--vs-border-color)}.vs__dropdown-menu{border-width:var(--border-width-input-focused)!important;border-color:var(--color-main-text)!important;outline:none!important;box-shadow:-2px 0 0 var(--color-main-background),0 2px 0 var(--color-main-background),2px 0 0 var(--color-main-background),!important;padding:4px!important}.vs__dropdown-menu--floating{width:max-content;position:absolute;top:0;inset-inline-start:0}.vs__dropdown-menu--floating-placement-top{border-radius:var(--vs-border-radius) var(--vs-border-radius) 0 0!important;border-top-style:var(--vs-border-style)!important;border-bottom-style:none!important;box-shadow:0 -2px 0 var(--color-main-background),-2px 0 0 var(--color-main-background),2px 0 0 var(--color-main-background),!important}.vs__dropdown-menu .vs__dropdown-option{border-radius:6px!important}.vs__dropdown-menu .vs__no-options{color:var(--color-text-maxcontrast)!important}:root{--vs-colors--lightest:rgba(60,60,60,.26);--vs-colors--light:rgba(60,60,60,.5);--vs-colors--dark:#333;--vs-colors--darkest:rgba(0,0,0,.15);--vs-search-input-color:inherit;--vs-search-input-bg:#fff;--vs-search-input-placeholder-color:inherit;--vs-font-size:1rem;--vs-line-height:1.4;--vs-state-disabled-bg:#f8f8f8;--vs-state-disabled-color:var(--vs-colors--light);--vs-state-disabled-controls-color:var(--vs-colors--light);--vs-state-disabled-cursor:not-allowed;--vs-border-color:var(--vs-colors--lightest);--vs-border-width:1px;--vs-border-style:solid;--vs-border-radius:4px;--vs-actions-padding:4px 6px 0 3px;--vs-controls-color:var(--vs-colors--light);--vs-controls-size:1;--vs-controls--deselect-text-shadow:0 1px 0 #fff;--vs-selected-bg:#f0f0f0;--vs-selected-color:var(--vs-colors--dark);--vs-selected-border-color:var(--vs-border-color);--vs-selected-border-style:var(--vs-border-style);--vs-selected-border-width:var(--vs-border-width);--vs-dropdown-bg:#fff;--vs-dropdown-color:inherit;--vs-dropdown-z-index:1000;--vs-dropdown-min-width:160px;--vs-dropdown-max-height:350px;--vs-dropdown-box-shadow:0px 3px 6px 0px var(--vs-colors--darkest);--vs-dropdown-option-bg:#000;--vs-dropdown-option-color:var(--vs-dropdown-color);--vs-dropdown-option-padding:3px 20px;--vs-dropdown-option--active-bg:#136cfb;--vs-dropdown-option--active-color:#fff;--vs-dropdown-option--kb-focus-box-shadow:inset 0px 0px 0px 2px #949494;--vs-dropdown-option--deselect-bg:#fb5858;--vs-dropdown-option--deselect-color:#fff;--vs-transition-timing-function:cubic-bezier(1,-.115,.975,.855);--vs-transition-duration:.15s}.v-select{font-family:inherit;position:relative}.v-select,.v-select *{box-sizing:border-box}:root{--vs-transition-timing-function:cubic-bezier(1,.5,.8,1);--vs-transition-duration:.15s}@keyframes vSelectSpinner{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.vs__fade-enter-active,.vs__fade-leave-active{pointer-events:none;transition:opacity var(--vs-transition-duration) var(--vs-transition-timing-function)}.vs__fade-enter,.vs__fade-leave-to{opacity:0}:root{--vs-disabled-bg:var(--vs-state-disabled-bg);--vs-disabled-color:var(--vs-state-disabled-color);--vs-disabled-cursor:var(--vs-state-disabled-cursor)}.vs--disabled .vs__clear,.vs--disabled .vs__dropdown-toggle,.vs--disabled .vs__open-indicator,.vs--disabled .vs__open-indicator-button,.vs--disabled .vs__search,.vs--disabled .vs__selected{background-color:var(--vs-disabled-bg);cursor:var(--vs-disabled-cursor)}.v-select[dir=rtl] .vs__actions{padding:0 3px 0 6px}.v-select[dir=rtl] .vs__clear{margin-left:6px;margin-right:0}.v-select[dir=rtl] .vs__deselect{margin-left:0;margin-right:2px}.v-select[dir=rtl] .vs__dropdown-menu{text-align:right}.vs__dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--vs-search-input-bg);border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-radius:var(--vs-border-radius);display:flex;padding:0 0 4px;white-space:normal}.vs__selected-options{display:flex;flex-basis:100%;flex-grow:1;flex-wrap:wrap;min-width:0;padding:0 2px;position:relative}.vs__actions{align-items:center;display:flex;padding:var(--vs-actions-padding)}.vs--searchable .vs__dropdown-toggle{cursor:text}.vs--unsearchable .vs__dropdown-toggle{cursor:pointer}.vs--open .vs__dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.vs__open-indicator-button{background-color:transparent;border:0;cursor:pointer;padding:0}.vs__open-indicator{fill:var(--vs-controls-color);transform:scale(var(--vs-controls-size));transition:transform var(--vs-transition-duration) var(--vs-transition-timing-function);transition-timing-function:var(--vs-transition-timing-function)}.vs--open .vs__open-indicator{transform:rotate(180deg) scale(var(--vs-controls-size))}.vs--loading .vs__open-indicator{opacity:0}.vs__clear{background-color:transparent;border:0;cursor:pointer;fill:var(--vs-controls-color);margin-right:8px;padding:0}.vs__dropdown-menu{background:var(--vs-dropdown-bg);border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-radius:0 0 var(--vs-border-radius) var(--vs-border-radius);border-top-style:none;box-shadow:var(--vs-dropdown-box-shadow);box-sizing:border-box;color:var(--vs-dropdown-color);display:block;left:0;list-style:none;margin:0;max-height:var(--vs-dropdown-max-height);min-width:var(--vs-dropdown-min-width);overflow-y:auto;padding:5px 0;position:absolute;text-align:left;top:calc(100% - var(--vs-border-width));width:100%;z-index:var(--vs-dropdown-z-index)}.vs__no-options{text-align:center}.vs__dropdown-option{clear:both;color:var(--vs-dropdown-option-color);cursor:pointer;display:block;line-height:1.42857143;padding:var(--vs-dropdown-option-padding);white-space:nowrap}.vs__dropdown-option--highlight{background:var(--vs-dropdown-option--active-bg);color:var(--vs-dropdown-option--active-color)}.vs__dropdown-option--kb-focus{box-shadow:var(--vs-dropdown-option--kb-focus-box-shadow)}.vs__dropdown-option--deselect{background:var(--vs-dropdown-option--deselect-bg);color:var(--vs-dropdown-option--deselect-color)}.vs__dropdown-option--disabled{background:var(--vs-state-disabled-bg);color:var(--vs-state-disabled-color);cursor:var(--vs-state-disabled-cursor)}.vs__selected{align-items:center;background-color:var(--vs-selected-bg);border:var(--vs-selected-border-width) var(--vs-selected-border-style) var(--vs-selected-border-color);border-radius:var(--vs-border-radius);color:var(--vs-selected-color);display:flex;line-height:var(--vs-line-height);margin:4px 2px 0;min-width:0;padding:0 .25em;z-index:0}.vs__deselect{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;display:inline-flex;fill:var(--vs-controls-color);margin-left:4px;padding:0;text-shadow:var(--vs-controls--deselect-text-shadow)}.vs--single .vs__selected{background-color:transparent;border-color:transparent}.vs--single.vs--loading .vs__selected,.vs--single.vs--open .vs__selected{max-width:100%;opacity:.4;position:absolute}.vs--single.vs--searching .vs__selected{display:none}.vs__search::-webkit-search-cancel-button{display:none}.vs__search::-ms-clear,.vs__search::-webkit-search-decoration,.vs__search::-webkit-search-results-button,.vs__search::-webkit-search-results-decoration{display:none}.vs__search,.vs__search:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid transparent;border-left:none;box-shadow:none;color:var(--vs-search-input-color);flex-grow:1;font-size:var(--vs-font-size);line-height:var(--vs-line-height);margin:4px 0 0;max-width:100%;outline:none;padding:0 7px;width:0;z-index:1}.vs__search::-moz-placeholder{color:var(--vs-search-input-placeholder-color)}.vs__search::placeholder{color:var(--vs-search-input-placeholder-color)}.vs--unsearchable .vs__search{opacity:1}.vs--unsearchable:not(.vs--disabled) .vs__search{cursor:pointer}.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search{opacity:.2}.vs__spinner{align-self:center;animation:vSelectSpinner 1.1s linear infinite;border:.9em solid hsla(0,0%,39.2%,.1);border-left-color:#3c3c3c73;font-size:5px;opacity:0;overflow:hidden;text-indent:-9999em;transform:translateZ(0) scale(var(--vs-controls--spinner-size,var(--vs-controls-size)));transition:opacity .1s}.vs__spinner,.vs__spinner:after{border-radius:50%;height:5em;transform:scale(var(--vs-controls--spinner-size,var(--vs-controls-size)));width:5em}.vs--loading .vs__spinner{opacity:1}.material-design-icon[data-v-a612f185]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-a612f185]{display:flex;max-width:100%;cursor:inherit}.name-parts__first[data-v-a612f185]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-a612f185],.name-parts__last[data-v-a612f185]{white-space:pre;cursor:inherit}.name-parts__first strong[data-v-a612f185],.name-parts__last strong[data-v-a612f185]{font-weight:700}.material-design-icon[data-v-9cedb949]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.settings-section[data-v-9cedb949]{display:block;padding:0 0 calc(var(--default-grid-baseline) * 5) 0;margin:calc(var(--default-grid-baseline) * 7);width:min(900px,100% - var(--default-grid-baseline) * 7 * 2)}.settings-section[data-v-9cedb949]:not(:last-child){border-bottom:1px solid var(--color-border)}.settings-section__name[data-v-9cedb949]{display:inline-flex;align-items:center;justify-content:center;max-width:900px;margin-top:0}.settings-section__info[data-v-9cedb949]{display:flex;align-items:center;justify-content:center;width:var(--default-clickable-area);height:var(--default-clickable-area);margin:calc((var(--default-clickable-area) - 16px) / 2 * -1);margin-inline-start:0;color:var(--color-text-maxcontrast)}.settings-section__info[data-v-9cedb949]:hover,.settings-section__info[data-v-9cedb949]:focus,.settings-section__info[data-v-9cedb949]:active{color:var(--color-main-text)}.settings-section__desc[data-v-9cedb949]{margin-top:-.2em;margin-bottom:1em;color:var(--color-text-maxcontrast);max-width:900px}/*! diff --git a/js/logger-D3RVzcfQ-CgMhrvdR.chunk.mjs b/js/logger-D3RVzcfQ-CgMhrvdR.chunk.mjs new file mode 100644 index 00000000..ac101fcc --- /dev/null +++ b/js/logger-D3RVzcfQ-CgMhrvdR.chunk.mjs @@ -0,0 +1,15 @@ +const eg=(e,t,n)=>{const r=Object.assign({ocsVersion:2},{}).ocsVersion===1?1:2;return Oc()+"/ocs/v"+r+".php"+xs(e)},xs=(e,t,n)=>{const r=Object.assign({escape:!0},{}),o=function(s,i){return i=i||{},s.replace(/{([^{}]*)}/g,function(f,c){const d=i[c];return r.escape?encodeURIComponent(typeof d=="string"||typeof d=="number"?d.toString():f):typeof d=="string"||typeof d=="number"?d.toString():f})};return e.charAt(0)!=="/"&&(e="/"+e),o(e,{})},Tc=(e,t,n)=>{const r=Object.assign({noRewrite:!1},{}),o=ma();return window?.OC?.config?.modRewriteWorking===!0&&!r.noRewrite?o+xs(e):o+"/index.php"+xs(e)},Oc=()=>window.location.protocol+"//"+window.location.host+ma();function ma(){let e=window._oc_webroot;if(typeof e>"u"){e=location.pathname;const t=e.indexOf("/index.php/");if(t!==-1)e=e.slice(0,t);else{const n=e.indexOf("/",1);e=e.slice(0,n>0?n:void 0)}}return e}function Mu(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n2?n-2:0),o=2;o1?t-1:0),r=1;r"u"?null:Me(BigInt.prototype.toString),qu=typeof Symbol>"u"?null:Me(Symbol.prototype.toString),Le=Me(Object.prototype.hasOwnProperty),er=Me(Object.prototype.toString),qe=Me(RegExp.prototype.test),Nn=Vc(TypeError);function Me(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o2&&arguments[2]!==void 0?arguments[2]:ar;if(zu&&zu(e,null),!ut(t))return e;let r=t.length;for(;r--;){let o=t[r];if(typeof o=="string"){const s=n(o);s!==o&&(Pc(t)||(t[r]=s),o=s)}e[o]=!0}return e}function Gc(e){for(let t=0;t/g),Yc=Dt(/\${[\w\W]*/g),Qc=Dt(/^data-[\-\w.\u00B7-\uFFFF]+$/),e0=Dt(/^aria-[\-\w]+$/),Zu=Dt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),t0=Dt(/^(?:\w+script|data):/i),n0=Dt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),r0=Dt(/^html$/i),o0=Dt(/^[a-z][.\w]*(-[.\w]+)+$/i),Lt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},s0=function(){return typeof window>"u"?null:window},u0=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null;const r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(n=t.getAttribute(r));const o="dompurify"+(n?"#"+n:"");try{return e.createPolicy(o,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}},Yu=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function ba(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:s0();const t=h=>ba(h);if(t.version="3.4.8",t.removed=[],!e||!e.document||e.document.nodeType!==Lt.document||!e.Element)return t.isSupported=!1,t;let n=e.document;const r=n,o=r.currentScript;e.DocumentFragment;const s=e.HTMLTemplateElement,i=e.Node,f=e.Element,c=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const a=e.DOMParser,v=e.trustedTypes,b=f.prototype,A=It(b,"cloneNode"),P=It(b,"remove"),E=It(b,"nextSibling"),M=It(b,"childNodes"),T=It(b,"parentNode"),R=It(b,"shadowRoot"),z=It(b,"attributes"),N=i&&i.prototype?It(i.prototype,"nodeType"):null,re=i&&i.prototype?It(i.prototype,"nodeName"):null;if(typeof s=="function"){const h=n.createElement("template");h.content&&h.content.ownerDocument&&(n=h.content.ownerDocument)}let ae,Oe="",Ce=0;const X=function(h){if(Ce>0)throw Nn('The configured TRUSTED_TYPES_POLICY.createHTML must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose createHTML wraps DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.');Ce++;try{return ae.createHTML(h)}finally{Ce--}},Q=n,oe=Q.implementation,H=Q.createNodeIterator,ge=Q.createDocumentFragment,ve=Q.getElementsByTagName,Ae=r.importNode;let K=Yu();t.isSupported=typeof Ea=="function"&&typeof T=="function"&&oe&&oe.createHTMLDocument!==void 0;const le=Jc,$e=Zc,mt=Yc,Ve=Qc,Re=e0,je=t0,Ft=n0,Y=o0;let xe=Zu,pe=null;const ft=ne({},[...Wu,...Wo,...Xo,...Ko,...Xu]);let ue=null;const Et=ne({},[...Ku,...Jo,...Ju,...Ur]);let se=Object.seal(jn(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),g=null,y=null;const x=Object.seal(jn(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let O=!0,D=!0,_=!1,j=!0,L=!1,I=!0,B=!1,q=!1,$=!1,V=!1,W=!1,Z=!1,fe=!0,me=!1;const de="user-content-";let ke=!0,u=!1,l={},p=null;const m=ne({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let w=null;const S=ne({},["audio","video","img","source","image","track"]);let F=null;const Ee=ne({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Fe="http://www.w3.org/1998/Math/MathML",Se="http://www.w3.org/2000/svg",ie="http://www.w3.org/1999/xhtml";let De=ie,Mo=!1,zo=null;const wc=ne({},[Fe,Se,ie],qo);let $o=ne({},["mi","mo","mn","ms","mtext"]),Ho=ne({},["annotation-xml"]);const Cc=ne({},["title","style","font","a","script"]);let Qn=null;const Ac=["application/xhtml+xml","text/html"],xc="text/html";let Pe=null,Dn=null;const Sc=n.createElement("form"),Ou=function(h){return h instanceof RegExp||h instanceof Function},Vo=function(){let h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Dn&&Dn===h)return;(!h||typeof h!="object")&&(h={}),h=Ze(h),Qn=Ac.indexOf(h.PARSER_MEDIA_TYPE)===-1?xc:h.PARSER_MEDIA_TYPE,Pe=Qn==="application/xhtml+xml"?qo:ar,pe=Le(h,"ALLOWED_TAGS")&&ut(h.ALLOWED_TAGS)?ne({},h.ALLOWED_TAGS,Pe):ft,ue=Le(h,"ALLOWED_ATTR")&&ut(h.ALLOWED_ATTR)?ne({},h.ALLOWED_ATTR,Pe):Et,zo=Le(h,"ALLOWED_NAMESPACES")&&ut(h.ALLOWED_NAMESPACES)?ne({},h.ALLOWED_NAMESPACES,qo):wc,F=Le(h,"ADD_URI_SAFE_ATTR")&&ut(h.ADD_URI_SAFE_ATTR)?ne(Ze(Ee),h.ADD_URI_SAFE_ATTR,Pe):Ee,w=Le(h,"ADD_DATA_URI_TAGS")&&ut(h.ADD_DATA_URI_TAGS)?ne(Ze(S),h.ADD_DATA_URI_TAGS,Pe):S,p=Le(h,"FORBID_CONTENTS")&&ut(h.FORBID_CONTENTS)?ne({},h.FORBID_CONTENTS,Pe):m,g=Le(h,"FORBID_TAGS")&&ut(h.FORBID_TAGS)?ne({},h.FORBID_TAGS,Pe):Ze({}),y=Le(h,"FORBID_ATTR")&&ut(h.FORBID_ATTR)?ne({},h.FORBID_ATTR,Pe):Ze({}),l=Le(h,"USE_PROFILES")?h.USE_PROFILES&&typeof h.USE_PROFILES=="object"?Ze(h.USE_PROFILES):h.USE_PROFILES:!1,O=h.ALLOW_ARIA_ATTR!==!1,D=h.ALLOW_DATA_ATTR!==!1,_=h.ALLOW_UNKNOWN_PROTOCOLS||!1,j=h.ALLOW_SELF_CLOSE_IN_ATTR!==!1,L=h.SAFE_FOR_TEMPLATES||!1,I=h.SAFE_FOR_XML!==!1,B=h.WHOLE_DOCUMENT||!1,V=h.RETURN_DOM||!1,W=h.RETURN_DOM_FRAGMENT||!1,Z=h.RETURN_TRUSTED_TYPE||!1,$=h.FORCE_BODY||!1,fe=h.SANITIZE_DOM!==!1,me=h.SANITIZE_NAMED_PROPS||!1,ke=h.KEEP_CONTENT!==!1,u=h.IN_PLACE||!1,xe=Wc(h.ALLOWED_URI_REGEXP)?h.ALLOWED_URI_REGEXP:Zu,De=typeof h.NAMESPACE=="string"?h.NAMESPACE:ie,$o=Le(h,"MATHML_TEXT_INTEGRATION_POINTS")&&h.MATHML_TEXT_INTEGRATION_POINTS&&typeof h.MATHML_TEXT_INTEGRATION_POINTS=="object"?Ze(h.MATHML_TEXT_INTEGRATION_POINTS):ne({},["mi","mo","mn","ms","mtext"]),Ho=Le(h,"HTML_INTEGRATION_POINTS")&&h.HTML_INTEGRATION_POINTS&&typeof h.HTML_INTEGRATION_POINTS=="object"?Ze(h.HTML_INTEGRATION_POINTS):ne({},["annotation-xml"]);const k=Le(h,"CUSTOM_ELEMENT_HANDLING")&&h.CUSTOM_ELEMENT_HANDLING&&typeof h.CUSTOM_ELEMENT_HANDLING=="object"?Ze(h.CUSTOM_ELEMENT_HANDLING):jn(null);if(se=jn(null),Le(k,"tagNameCheck")&&Ou(k.tagNameCheck)&&(se.tagNameCheck=k.tagNameCheck),Le(k,"attributeNameCheck")&&Ou(k.attributeNameCheck)&&(se.attributeNameCheck=k.attributeNameCheck),Le(k,"allowCustomizedBuiltInElements")&&typeof k.allowCustomizedBuiltInElements=="boolean"&&(se.allowCustomizedBuiltInElements=k.allowCustomizedBuiltInElements),L&&(D=!1),W&&(V=!0),l&&(pe=ne({},Xu),ue=jn(null),l.html===!0&&(ne(pe,Wu),ne(ue,Ku)),l.svg===!0&&(ne(pe,Wo),ne(ue,Jo),ne(ue,Ur)),l.svgFilters===!0&&(ne(pe,Xo),ne(ue,Jo),ne(ue,Ur)),l.mathMl===!0&&(ne(pe,Ko),ne(ue,Ju),ne(ue,Ur))),x.tagCheck=null,x.attributeCheck=null,Le(h,"ADD_TAGS")&&(typeof h.ADD_TAGS=="function"?x.tagCheck=h.ADD_TAGS:ut(h.ADD_TAGS)&&(pe===ft&&(pe=Ze(pe)),ne(pe,h.ADD_TAGS,Pe))),Le(h,"ADD_ATTR")&&(typeof h.ADD_ATTR=="function"?x.attributeCheck=h.ADD_ATTR:ut(h.ADD_ATTR)&&(ue===Et&&(ue=Ze(ue)),ne(ue,h.ADD_ATTR,Pe))),Le(h,"ADD_URI_SAFE_ATTR")&&ut(h.ADD_URI_SAFE_ATTR)&&ne(F,h.ADD_URI_SAFE_ATTR,Pe),Le(h,"FORBID_CONTENTS")&&ut(h.FORBID_CONTENTS)&&(p===m&&(p=Ze(p)),ne(p,h.FORBID_CONTENTS,Pe)),Le(h,"ADD_FORBID_CONTENTS")&&ut(h.ADD_FORBID_CONTENTS)&&(p===m&&(p=Ze(p)),ne(p,h.ADD_FORBID_CONTENTS,Pe)),ke&&(pe["#text"]=!0),B&&ne(pe,["html","head","body"]),pe.table&&(ne(pe,["tbody"]),delete g.tbody),h.TRUSTED_TYPES_POLICY){if(typeof h.TRUSTED_TYPES_POLICY.createHTML!="function")throw Nn('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof h.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Nn('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const U=ae;ae=h.TRUSTED_TYPES_POLICY;try{Oe=X("")}catch(te){throw ae=U,te}}else ae===void 0&&h.TRUSTED_TYPES_POLICY!==null&&(ae=u0(v,o)),ae&&typeof Oe=="string"&&(Oe=X(""));(K.uponSanitizeElement.length>0||K.uponSanitizeAttribute.length>0)&&pe===ft&&(pe=Ze(pe)),K.uponSanitizeAttribute.length>0&&ue===Et&&(ue=Ze(ue)),ct&&ct(h),Dn=h},Ru=ne({},[...Wo,...Xo,...Xc]),ku=ne({},[...Ko,...Kc]),_c=function(h){let k=T(h);(!k||!k.tagName)&&(k={namespaceURI:De,tagName:"template"});const U=ar(h.tagName),te=ar(k.tagName);return zo[h.namespaceURI]?h.namespaceURI===Se?k.namespaceURI===ie?U==="svg":k.namespaceURI===Fe?U==="svg"&&(te==="annotation-xml"||$o[te]):!!Ru[U]:h.namespaceURI===Fe?k.namespaceURI===ie?U==="math":k.namespaceURI===Se?U==="math"&&Ho[te]:!!ku[U]:h.namespaceURI===ie?k.namespaceURI===Se&&!Ho[te]||k.namespaceURI===Fe&&!$o[te]?!1:!ku[U]&&(Cc[U]||!Ru[U]):!!(Qn==="application/xhtml+xml"&&zo[h.namespaceURI]):!1},ln=function(h){Rn(t.removed,{element:h});try{T(h).removeChild(h)}catch{P(h)}},cn=function(h,k){try{Rn(t.removed,{attribute:k.getAttributeNode(h),from:k})}catch{Rn(t.removed,{attribute:null,from:k})}if(k.removeAttribute(h),h==="is")if(V||W)try{ln(k)}catch{}else try{k.setAttribute(h,"")}catch{}},Nu=function(h){let k=null,U=null;if($)h=""+h;else{const _e=Hu(h,/^[\r\n\t ]+/);U=_e&&_e[0]}Qn==="application/xhtml+xml"&&De===ie&&(h=''+h+"");const te=ae?X(h):h;if(De===ie)try{k=new a().parseFromString(te,Qn)}catch{}if(!k||!k.documentElement){k=oe.createDocument(De,"template",null);try{k.documentElement.innerHTML=Mo?Oe:te}catch{}}const ce=k.body||k.documentElement;return h&&U&&ce.insertBefore(n.createTextNode(U),ce.childNodes[0]||null),De===ie?ve.call(k,B?"html":"body")[0]:B?k.documentElement:ce},Fu=function(h){return H.call(h.ownerDocument||h,h,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Go=function(h){var k,U;h.normalize();const te=H.call(h.ownerDocument||h,h,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let ce=te.nextNode();for(;ce;){let Je=ce.data;fn([le,$e,mt],bt=>{Je=kn(Je,bt," ")}),ce.data=Je,ce=te.nextNode()}const _e=(k=(U=h.querySelectorAll)===null||U===void 0?void 0:U.call(h,"template"))!==null&&k!==void 0?k:[];fn(Array.from(_e),Je=>{Bn(Je.content)&&Go(Je.content)})},Pr=function(h){const k=re?re(h):null;return typeof k!="string"||Pe(k)!=="form"?!1:typeof h.nodeName!="string"||typeof h.textContent!="string"||typeof h.removeChild!="function"||h.attributes!==z(h)||typeof h.removeAttribute!="function"||typeof h.setAttribute!="function"||typeof h.namespaceURI!="string"||typeof h.insertBefore!="function"||typeof h.hasChildNodes!="function"||h.nodeType!==N(h)||h.childNodes!==M(h)},Bn=function(h){if(!N||typeof h!="object"||h===null)return!1;try{return N(h)===Lt.documentFragment}catch{return!1}},Ir=function(h){if(!N||typeof h!="object"||h===null)return!1;try{return typeof N(h)=="number"}catch{return!1}};function Vt(h,k,U){fn(h,te=>{te.call(t,k,U,Dn)})}const Lu=function(h){let k=null;if(Vt(K.beforeSanitizeElements,h,null),Pr(h))return ln(h),!0;const U=Pe(re?re(h):h.nodeName);if(Vt(K.uponSanitizeElement,h,{tagName:U,allowedTags:pe}),I&&h.hasChildNodes()&&!Ir(h.firstElementChild)&&qe(/<[/\w!]/g,h.innerHTML)&&qe(/<[/\w!]/g,h.textContent)||I&&h.namespaceURI===ie&&U==="style"&&Ir(h.firstElementChild)||h.nodeType===Lt.progressingInstruction||I&&h.nodeType===Lt.comment&&qe(/<[/\w]/g,h.data))return ln(h),!0;if(g[U]||!(x.tagCheck instanceof Function&&x.tagCheck(U))&&!pe[U]){if(!g[U]&&Iu(U)&&(se.tagNameCheck instanceof RegExp&&qe(se.tagNameCheck,U)||se.tagNameCheck instanceof Function&&se.tagNameCheck(U)))return!1;if(ke&&!p[U]){const te=T(h),ce=M(h);if(ce&&te){const _e=ce.length;for(let Je=_e-1;Je>=0;--Je){const bt=A(ce[Je],!0);te.insertBefore(bt,E(h))}}}return ln(h),!0}return(N?N(h):h.nodeType)===Lt.element&&!_c(h)||(U==="noscript"||U==="noembed"||U==="noframes")&&qe(/<\/no(script|embed|frames)/i,h.innerHTML)?(ln(h),!0):(L&&h.nodeType===Lt.text&&(k=h.textContent,fn([le,$e,mt],te=>{k=kn(k,te," ")}),h.textContent!==k&&(Rn(t.removed,{element:h.cloneNode()}),h.textContent=k)),Vt(K.afterSanitizeElements,h,null),!1)},Pu=function(h,k,U){if(y[k]||fe&&(k==="id"||k==="name")&&(U in n||U in Sc))return!1;const te=ue[k]||x.attributeCheck instanceof Function&&x.attributeCheck(k,h);if(!(D&&!y[k]&&qe(Ve,k))&&!(O&&qe(Re,k))){if(!te||y[k]){if(!(Iu(h)&&(se.tagNameCheck instanceof RegExp&&qe(se.tagNameCheck,h)||se.tagNameCheck instanceof Function&&se.tagNameCheck(h))&&(se.attributeNameCheck instanceof RegExp&&qe(se.attributeNameCheck,k)||se.attributeNameCheck instanceof Function&&se.attributeNameCheck(k,h))||k==="is"&&se.allowCustomizedBuiltInElements&&(se.tagNameCheck instanceof RegExp&&qe(se.tagNameCheck,U)||se.tagNameCheck instanceof Function&&se.tagNameCheck(U))))return!1}else if(!F[k]&&!qe(xe,kn(U,Ft,""))&&!((k==="src"||k==="xlink:href"||k==="href")&&h!=="script"&&Vu(U,"data:")===0&&w[h])&&!(_&&!qe(je,kn(U,Ft,"")))&&U)return!1}return!0},Dc=ne({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Iu=function(h){return!Dc[ar(h)]&&qe(Y,h)},ju=function(h){Vt(K.beforeSanitizeAttributes,h,null);const k=h.attributes;if(!k||Pr(h))return;const U={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ue,forceKeepAttr:void 0};let te=k.length;for(;te--;){const ce=k[te],_e=ce.name,Je=ce.namespaceURI,bt=ce.value,Tt=Pe(_e),On=bt;let Ge=_e==="value"?On:zc(On);if(U.attrName=Tt,U.attrValue=Ge,U.keepAttr=!0,U.forceKeepAttr=void 0,Vt(K.uponSanitizeAttribute,h,U),Ge=U.attrValue,me&&(Tt==="id"||Tt==="name")&&Vu(Ge,de)!==0&&(cn(_e,h),Ge=de+Ge),I&&qe(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ge)){cn(_e,h);continue}if(Tt==="attributename"&&Hu(Ge,"href")){cn(_e,h);continue}if(U.forceKeepAttr)continue;if(!U.keepAttr){cn(_e,h);continue}if(!j&&qe(/\/>/i,Ge)){cn(_e,h);continue}L&&fn([le,$e,mt],Bc=>{Ge=kn(Ge,Bc," ")});const Uu=Pe(h.nodeName);if(!Pu(Uu,Tt,Ge)){cn(_e,h);continue}if(ae&&typeof v=="object"&&typeof v.getAttributeType=="function"&&!Je)switch(v.getAttributeType(Uu,Tt)){case"TrustedHTML":{Ge=X(Ge);break}case"TrustedScriptURL":{Ge=ae.createScriptURL(Ge);break}}if(Ge!==On)try{Je?h.setAttributeNS(Je,_e,Ge):h.setAttribute(_e,Ge),Pr(h)?ln(h):$u(t.removed)}catch{cn(_e,h)}}Vt(K.afterSanitizeAttributes,h,null)},jr=function(h){let k=null;const U=Fu(h);for(Vt(K.beforeSanitizeShadowDOM,h,null);k=U.nextNode();)if(Vt(K.uponSanitizeShadowNode,k,null),Lu(k),ju(k),Bn(k.content)&&jr(k.content),(N?N(k):k.nodeType)===Lt.element){const te=R?R(k):k.shadowRoot;Bn(te)&&(Tn(te),jr(te))}Vt(K.afterSanitizeShadowDOM,h,null)},Tn=function(h){const k=N?N(h):h.nodeType;if(k===Lt.element){const ce=R?R(h):h.shadowRoot;Bn(ce)&&(Tn(ce),jr(ce))}const U=M?M(h):h.childNodes;if(!U)return;const te=[];fn(U,ce=>{Rn(te,ce)});for(const ce of te)Tn(ce);if(k===Lt.element){const ce=re?re(h):null;if(typeof ce=="string"&&Pe(ce)==="template"){const _e=h.content;Bn(_e)&&Tn(_e)}}};return t.sanitize=function(h){let k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},U=null,te=null,ce=null,_e=null;if(Mo=!h,Mo&&(h=""),typeof h!="string"&&!Ir(h)&&(h=qc(h),typeof h!="string"))throw Nn("dirty is not a string, aborting");if(!t.isSupported)return h;if(q||Vo(k),t.removed=[],typeof h=="string"&&(u=!1),u){const Tt=re?re(h):h.nodeName;if(typeof Tt=="string"){const On=Pe(Tt);if(!pe[On]||g[On])throw Nn("root node is forbidden and cannot be sanitized in-place")}if(Pr(h))throw Nn("root node is clobbered and cannot be sanitized in-place");Tn(h)}else if(Ir(h))U=Nu(""),te=U.ownerDocument.importNode(h,!0),te.nodeType===Lt.element&&te.nodeName==="BODY"||te.nodeName==="HTML"?U=te:U.appendChild(te),Tn(te);else{if(!V&&!L&&!B&&h.indexOf("<")===-1)return ae&&Z?X(h):h;if(U=Nu(h),!U)return V?null:Z?Oe:""}U&&$&&ln(U.firstChild);const Je=Fu(u?h:U);for(;ce=Je.nextNode();)Lu(ce),ju(ce),Bn(ce.content)&&jr(ce.content);if(u)return L&&Go(h),h;if(V){if(L&&Go(U),W)for(_e=ge.call(U.ownerDocument);U.firstChild;)_e.appendChild(U.firstChild);else _e=U;return(ue.shadowroot||ue.shadowrootmode)&&(_e=Ae.call(r,_e,!0)),_e}let bt=B?U.outerHTML:U.innerHTML;return B&&pe["!doctype"]&&U.ownerDocument&&U.ownerDocument.doctype&&U.ownerDocument.doctype.name&&qe(r0,U.ownerDocument.doctype.name)&&(bt=" +`+bt),L&&fn([le,$e,mt],Tt=>{bt=kn(bt,Tt," ")}),ae&&Z?X(bt):bt},t.setConfig=function(){let h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Vo(h),q=!0},t.clearConfig=function(){Dn=null,q=!1},t.isValidAttribute=function(h,k,U){Dn||Vo({});const te=Pe(h),ce=Pe(k);return Pu(te,ce,U)},t.addHook=function(h,k){typeof k=="function"&&Rn(K[h],k)},t.removeHook=function(h,k){if(k!==void 0){const U=Uc(K[h],k);return U===-1?void 0:Mc(K[h],U,1)[0]}return $u(K[h])},t.removeHooks=function(h){K[h]=[]},t.removeAllHooks=function(){K=Yu()},t}var wa=ba();function Zs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Zo,Qu;function i0(){if(Qu)return Zo;Qu=1;var e=/["'&<>]/;Zo=t;function t(n){var r=""+n,o=e.exec(r);if(!o)return r;var s,i="",f=0,c=0;for(f=o.index;ft)}}globalThis._oc_l10n_registry_translations??={},globalThis._oc_l10n_registry_plural_functions??={};function Vr(e,t,n,r,o){const s=typeof n=="object"?n:void 0,i=typeof r=="number"?r:typeof n=="number"?n:void 0,f={escape:!0,sanitize:!0,...typeof o=="object"?o:typeof r=="object"?r:{}},c=P=>P,d=(f.sanitize?wa.sanitize:c)||c,a=f.escape?ei:c,v=P=>typeof P=="string"||typeof P=="number",b=(P,E,M)=>P.replace(/%n/g,""+M).replace(/{([^{}]*)}/g,(T,R)=>{if(E===void 0||!(R in E))return a(T);const z=E[R];return v(z)?a(`${z}`):typeof z=="object"&&v(z.value)?(z.escape!==!1?ei:c)(`${z.value}`):a(T)});let A=(o?.bundle??Ca(e)).translations[t]||t;return A=Array.isArray(A)?A[0]:A,d(typeof s=="object"||i!==void 0?b(A,s,i):A)}function l0(e,t,n,r,o,s){const i="_"+t+"_::_"+n+"_",f=s?.bundle??Ca(e),c=f.translations[i];if(typeof c<"u"){const d=c;if(Array.isArray(d)){const a=f.pluralFunction(r);return Vr(e,d[a],o,r,s)}}return r===1?Vr(e,t,o,r,s):Vr(e,n,o,r,s)}function c0(e,t=Ys()){switch(t==="pt-BR"&&(t="xbr"),t.length>3&&(t=t.substring(0,t.lastIndexOf("-"))),t){case"az":case"bo":case"dz":case"id":case"ja":case"jv":case"ka":case"km":case"kn":case"ko":case"ms":case"th":case"tr":case"vi":case"zh":return 0;case"af":case"bn":case"bg":case"ca":case"da":case"de":case"el":case"en":case"eo":case"es":case"et":case"eu":case"fa":case"fi":case"fo":case"fur":case"fy":case"gl":case"gu":case"ha":case"he":case"hu":case"is":case"it":case"ku":case"lb":case"ml":case"mn":case"mr":case"nah":case"nb":case"ne":case"nl":case"nn":case"no":case"oc":case"om":case"or":case"pa":case"pap":case"ps":case"pt":case"so":case"sq":case"sv":case"sw":case"ta":case"te":case"tk":case"ur":case"zu":return e===1?0:1;case"am":case"bh":case"fil":case"fr":case"gun":case"hi":case"hy":case"ln":case"mg":case"nso":case"xbr":case"ti":case"wa":return e===0||e===1?0:1;case"be":case"bs":case"hr":case"ru":case"sh":case"sr":case"uk":return e%10===1&&e%100!==11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2;case"cs":case"sk":return e===1?0:e>=2&&e<=4?1:2;case"ga":return e===1?0:e===2?1:2;case"lt":return e%10===1&&e%100!==11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2;case"sl":return e%100===1?0:e%100===2?1:e%100===3||e%100===4?2:3;case"mk":return e%10===1?0:1;case"mt":return e===1?0:e===0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3;case"lv":return e===0?0:e%10===1&&e%100!==11?1:2;case"pl":return e===1?0:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?1:2;case"cy":return e===1?0:e===2?1:e===8||e===11?2:3;case"ro":return e===1?0:e===0||e%100>0&&e%100<20?1:2;case"ar":return e===0?0:e===1?1:e===2?2:e%100>=3&&e%100<=10?3:e%100>=11&&e%100<=99?4:5;default:return 0}}const Er=globalThis||void 0||self;function Qs(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const he={},$n=[],St=()=>{},Aa=()=>!1,Eo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),yo=e=>e.startsWith("onUpdate:"),ze=Object.assign,eu=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},f0=Object.prototype.hasOwnProperty,be=(e,t)=>f0.call(e,t),J=Array.isArray,Hn=e=>Tr(e)==="[object Map]",xa=e=>Tr(e)==="[object Set]",ti=e=>Tr(e)==="[object Date]",ee=e=>typeof e=="function",Te=e=>typeof e=="string",Rt=e=>typeof e=="symbol",we=e=>e!==null&&typeof e=="object",Sa=e=>(we(e)||ee(e))&&ee(e.then)&&ee(e.catch),_a=Object.prototype.toString,Tr=e=>_a.call(e),p0=e=>Tr(e).slice(8,-1),Da=e=>Tr(e)==="[object Object]",tu=e=>Te(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,pr=Qs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),bo=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},d0=/-\w/g,rt=bo(e=>e.replace(d0,t=>t.slice(1).toUpperCase())),h0=/\B([A-Z])/g,rn=bo(e=>e.replace(h0,"-$1").toLowerCase()),wo=bo(e=>e.charAt(0).toUpperCase()+e.slice(1)),Gr=bo(e=>e?`on${wo(e)}`:""),Qe=(e,t)=>!Object.is(e,t),qr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},nu=e=>{const t=parseFloat(e);return isNaN(t)?e:t},g0=e=>{const t=Te(e)?Number(e):NaN;return isNaN(t)?e:t};let ni;const no=()=>ni||(ni=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof Er<"u"?Er:{});function Co(e){if(J(e)){const t={};for(let n=0;n{if(n){const r=n.split(m0);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Jn(e){let t="";if(Te(e))t=e;else if(J(e))for(let n=0;n!!(e&&e.__v_isRef===!0),ro=e=>Te(e)?e:e==null?"":J(e)||we(e)&&(e.toString===_a||!ee(e.toString))?Oa(e)?ro(e.value):JSON.stringify(e,Ra,2):String(e),Ra=(e,t)=>Oa(t)?Ra(e,t.value):Hn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o],s)=>(n[Yo(r,s)+" =>"]=o,n),{})}:xa(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Yo(n))}:Rt(t)?Yo(t):we(t)&&!J(t)&&!Da(t)?String(t):t,Yo=(e,t="")=>{var n;return Rt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};function A0(e){return e==null?"initial":typeof e=="string"?e===""?" ":e:String(e)}let We;class x0{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&We&&(We.active?(this.parent=We,this.index=(We.scopes||(We.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0){if(We===this)We=this.prevScope;else{let t=We;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(hr){let t=hr;for(hr=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;dr;){let t=dr;for(dr=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function La(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Pa(e){let t,n=e.depsTail,r=n;for(;r;){const o=r.prevDep;r.version===-1?(r===n&&(n=o),uu(r),_0(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=o}e.deps=t,e.depsTail=n}function Ds(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ia(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ia(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===yr)||(e.globalVersion=yr,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ds(e))))return;e.flags|=2;const t=e.dep,n=Be,r=Ot;Be=e,Ot=!0;try{La(e);const o=e.fn(e._value);(t.version===0||Qe(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{Be=n,Ot=r,Pa(e),e.flags&=-3}}function uu(e,t=!1){const{dep:n,prevSub:r,nextSub:o}=e;if(r&&(r.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)uu(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function _0(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ot=!0;const ja=[];function en(){ja.push(Ot),Ot=!1}function tn(){const e=ja.pop();Ot=e===void 0?!0:e}function ri(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Be;Be=void 0;try{t()}finally{Be=n}}}let yr=0;class D0{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ao{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Be||!Ot||Be===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Be)n=this.activeLink=new D0(Be,this),Be.deps?(n.prevDep=Be.depsTail,Be.depsTail.nextDep=n,Be.depsTail=n):Be.deps=Be.depsTail=n,Ua(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=Be.depsTail,n.nextDep=void 0,Be.depsTail.nextDep=n,Be.depsTail=n,Be.deps===n&&(Be.deps=r)}return n}trigger(t){this.version++,yr++,this.notify(t)}notify(t){ou();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{su()}}}function Ua(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)Ua(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Bs=new WeakMap,wn=Symbol(""),Ts=Symbol(""),br=Symbol("");function et(e,t,n){if(Ot&&Be){let r=Bs.get(e);r||Bs.set(e,r=new Map);let o=r.get(n);o||(r.set(n,o=new Ao),o.map=r,o.key=n),o.track()}}function Jt(e,t,n,r,o,s){const i=Bs.get(e);if(!i){yr++;return}const f=c=>{c&&c.trigger()};if(ou(),t==="clear")i.forEach(f);else{const c=J(e),d=c&&tu(n);if(c&&n==="length"){const a=Number(r);i.forEach((v,b)=>{(b==="length"||b===br||!Rt(b)&&b>=a)&&f(v)})}else switch((n!==void 0||i.has(void 0))&&f(i.get(n)),d&&f(i.get(br)),t){case"add":c?d&&f(i.get("length")):(f(i.get(wn)),Hn(e)&&f(i.get(Ts)));break;case"delete":c||(f(i.get(wn)),Hn(e)&&f(i.get(Ts)));break;case"set":Hn(e)&&f(i.get(wn));break}}su()}function Fn(e){const t=ye(e);return t===e?t:(et(t,"iterate",br),_t(e)?t:t.map(kt))}function xo(e){return et(e=ye(e),"iterate",br),e}function zt(e,t){return nn(e)?wr(Cn(e)?kt(t):t):kt(t)}const B0={__proto__:null,[Symbol.iterator](){return es(this,Symbol.iterator,e=>zt(this,e))},concat(...e){return Fn(this).concat(...e.map(t=>J(t)?Fn(t):t))},entries(){return es(this,"entries",e=>(e[1]=zt(this,e[1]),e))},every(e,t){return Gt(this,"every",e,t,void 0,arguments)},filter(e,t){return Gt(this,"filter",e,t,n=>n.map(r=>zt(this,r)),arguments)},find(e,t){return Gt(this,"find",e,t,n=>zt(this,n),arguments)},findIndex(e,t){return Gt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Gt(this,"findLast",e,t,n=>zt(this,n),arguments)},findLastIndex(e,t){return Gt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Gt(this,"forEach",e,t,void 0,arguments)},includes(...e){return ts(this,"includes",e)},indexOf(...e){return ts(this,"indexOf",e)},join(e){return Fn(this).join(e)},lastIndexOf(...e){return ts(this,"lastIndexOf",e)},map(e,t){return Gt(this,"map",e,t,void 0,arguments)},pop(){return tr(this,"pop")},push(...e){return tr(this,"push",e)},reduce(e,...t){return oi(this,"reduce",e,t)},reduceRight(e,...t){return oi(this,"reduceRight",e,t)},shift(){return tr(this,"shift")},some(e,t){return Gt(this,"some",e,t,void 0,arguments)},splice(...e){return tr(this,"splice",e)},toReversed(){return Fn(this).toReversed()},toSorted(e){return Fn(this).toSorted(e)},toSpliced(...e){return Fn(this).toSpliced(...e)},unshift(...e){return tr(this,"unshift",e)},values(){return es(this,"values",e=>zt(this,e))}};function es(e,t,n){const r=xo(e),o=r[t]();return r!==e&&!_t(e)&&(o._next=o.next,o.next=()=>{const s=o._next();return s.done||(s.value=n(s.value)),s}),o}const T0=Array.prototype;function Gt(e,t,n,r,o,s){const i=xo(e),f=i!==e&&!_t(e),c=i[t];if(c!==T0[t]){const v=c.apply(e,s);return f?kt(v):v}let d=n;i!==e&&(f?d=function(v,b){return n.call(this,zt(e,v),b,e)}:n.length>2&&(d=function(v,b){return n.call(this,v,b,e)}));const a=c.call(i,d,r);return f&&o?o(a):a}function oi(e,t,n,r){const o=xo(e),s=o!==e&&!_t(e);let i=n,f=!1;o!==e&&(s?(f=r.length===0,i=function(d,a,v){return f&&(f=!1,d=zt(e,d)),n.call(this,d,zt(e,a),v,e)}):n.length>3&&(i=function(d,a,v){return n.call(this,d,a,v,e)}));const c=o[t](i,...r);return f?zt(e,c):c}function ts(e,t,n){const r=ye(e);et(r,"iterate",br);const o=r[t](...n);return(o===-1||o===!1)&&lu(n[0])?(n[0]=ye(n[0]),r[t](...n)):o}function tr(e,t,n=[]){en(),ou();const r=ye(e)[t].apply(e,n);return su(),tn(),r}const O0=Qs("__proto__,__v_isRef,__isVue"),Ma=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Rt));function R0(e){Rt(e)||(e=String(e));const t=ye(this);return et(t,"has",e),t.hasOwnProperty(e)}class za{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const o=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw")return r===(o?s?M0:qa:s?Ga:Va).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=J(t);if(!o){let c;if(i&&(c=B0[n]))return c;if(n==="hasOwnProperty")return R0}const f=Reflect.get(t,n,ot(t)?t:r);if((Rt(n)?Ma.has(n):O0(n))||(o||et(t,"get",n),s))return f;if(ot(f)){const c=i&&tu(n)?f:f.value;return o&&we(c)?Rs(c):c}return we(f)?o?Rs(f):iu(f):f}}class $a extends za{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];const i=J(t)&&tu(n);if(!this._isShallow){const d=nn(s);if(!_t(r)&&!nn(r)&&(s=ye(s),r=ye(r)),!i&&ot(s)&&!ot(r))return d||(s.value=r),!0}const f=i?Number(n)e,Mr=e=>Reflect.getPrototypeOf(e);function L0(e,t,n){return function(...r){const o=this.__v_raw,s=ye(o),i=Hn(s),f=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,d=o[e](...r),a=n?Os:t?wr:kt;return!t&&et(s,"iterate",c?Ts:wn),ze(Object.create(d),{next(){const{value:v,done:b}=d.next();return b?{value:v,done:b}:{value:f?[a(v[0]),a(v[1])]:a(v),done:b}}})}}function zr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function P0(e,t){const n={get(r){const o=this.__v_raw,s=ye(o),i=ye(r);e||(Qe(r,i)&&et(s,"get",r),et(s,"get",i));const{has:f}=Mr(s),c=t?Os:e?wr:kt;if(f.call(s,r))return c(o.get(r));if(f.call(s,i))return c(o.get(i));o!==s&&o.get(r)},get size(){const r=this.__v_raw;return!e&&et(ye(r),"iterate",wn),r.size},has(r){const o=this.__v_raw,s=ye(o),i=ye(r);return e||(Qe(r,i)&&et(s,"has",r),et(s,"has",i)),r===i?o.has(r):o.has(r)||o.has(i)},forEach(r,o){const s=this,i=s.__v_raw,f=ye(i),c=t?Os:e?wr:kt;return!e&&et(f,"iterate",wn),i.forEach((d,a)=>r.call(o,c(d),c(a),s))}};return ze(n,e?{add:zr("add"),set:zr("set"),delete:zr("delete"),clear:zr("clear")}:{add(r){const o=ye(this),s=Mr(o),i=ye(r),f=!t&&!_t(r)&&!nn(r)?i:r;return s.has.call(o,f)||Qe(r,f)&&s.has.call(o,r)||Qe(i,f)&&s.has.call(o,i)||(o.add(f),Jt(o,"add",f,f)),this},set(r,o){!t&&!_t(o)&&!nn(o)&&(o=ye(o));const s=ye(this),{has:i,get:f}=Mr(s);let c=i.call(s,r);c||(r=ye(r),c=i.call(s,r));const d=f.call(s,r);return s.set(r,o),c?Qe(o,d)&&Jt(s,"set",r,o):Jt(s,"add",r,o),this},delete(r){const o=ye(this),{has:s,get:i}=Mr(o);let f=s.call(o,r);f||(r=ye(r),f=s.call(o,r)),i&&i.call(o,r);const c=o.delete(r);return f&&Jt(o,"delete",r,void 0),c},clear(){const r=ye(this),o=r.size!==0,s=r.clear();return o&&Jt(r,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=L0(r,e,t)}),n}function So(e,t){const n=P0(e,t);return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(be(n,o)&&o in r?n:r,o,s)}const I0={get:So(!1,!1)},j0={get:So(!1,!0)},U0={get:So(!0,!1)},rg={get:So(!0,!0)},Va=new WeakMap,Ga=new WeakMap,qa=new WeakMap,M0=new WeakMap;function z0(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function iu(e){return nn(e)?e:au(e,!1,k0,I0,Va)}function $0(e){return au(e,!1,F0,j0,Ga)}function Rs(e){return au(e,!0,N0,U0,qa)}function au(e,t,n,r,o){if(!we(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=o.get(e);if(s)return s;const i=z0(p0(e));if(i===0)return e;const f=new Proxy(e,i===2?r:n);return o.set(e,f),f}function Cn(e){return nn(e)?Cn(e.__v_raw):!!(e&&e.__v_isReactive)}function nn(e){return!!(e&&e.__v_isReadonly)}function _t(e){return!!(e&&e.__v_isShallow)}function lu(e){return e?!!e.__v_raw:!1}function ye(e){const t=e&&e.__v_raw;return t?ye(t):e}function H0(e){return!be(e,"__v_skip")&&Object.isExtensible(e)&&Ba(e,"__v_skip",!0),e}const kt=e=>we(e)?iu(e):e,wr=e=>we(e)?Rs(e):e;function ot(e){return e?e.__v_isRef===!0:!1}function og(e){return Wa(e,!1)}function V0(e){return Wa(e,!0)}function Wa(e,t){return ot(e)?e:new G0(e,t)}class G0{constructor(t,n){this.dep=new Ao,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ye(t),this._value=n?t:kt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||_t(t)||nn(t);t=r?t:ye(t),Qe(t,n)&&(this._rawValue=t,this._value=r?t:kt(t),this.dep.trigger())}}function it(e){return ot(e)?e.value:e}const q0={get:(e,t,n)=>t==="__v_raw"?e:it(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return ot(o)&&!ot(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function Xa(e){return Cn(e)?e:new Proxy(e,q0)}class W0{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Ao,{get:r,set:o}=t(n.track.bind(n),n.trigger.bind(n));this._get=r,this._set=o}get value(){return this._value=this._get()}set value(t){this._set(t)}}function X0(e){return new W0(e)}class K0{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Ao(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=yr-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Be!==this)return Fa(this,!0),!0}get value(){const t=this.dep.track();return Ia(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function J0(e,t,n=!1){let r,o;return ee(e)?r=e:(r=e.get,o=e.set),new K0(r,o,n)}const $r={},oo=new WeakMap;let vn;function Z0(e,t=!1,n=vn){if(n){let r=oo.get(n);r||oo.set(n,r=[]),r.push(e)}}function Y0(e,t,n=he){const{immediate:r,deep:o,once:s,scheduler:i,augmentJob:f,call:c}=n,d=N=>o?N:_t(N)||o===!1||o===0?Zt(N,1):Zt(N);let a,v,b,A,P=!1,E=!1;if(ot(e)?(v=()=>e.value,P=_t(e)):Cn(e)?(v=()=>d(e),P=!0):J(e)?(E=!0,P=e.some(N=>Cn(N)||_t(N)),v=()=>e.map(N=>{if(ot(N))return N.value;if(Cn(N))return d(N);if(ee(N))return c?c(N,2):N()})):ee(e)?t?v=c?()=>c(e,2):e:v=()=>{if(b){en();try{b()}finally{tn()}}const N=vn;vn=a;try{return c?c(e,3,[A]):e(A)}finally{vn=N}}:v=St,t&&o){const N=v,re=o===!0?1/0:o;v=()=>Zt(N(),re)}const M=S0(),T=()=>{a.stop(),M&&M.active&&eu(M.effects,a)};if(s&&t){const N=t;t=(...re)=>{N(...re),T()}}let R=E?new Array(e.length).fill($r):$r;const z=N=>{if(!(!(a.flags&1)||!a.dirty&&!N))if(t){const re=a.run();if(o||P||(E?re.some((ae,Oe)=>Qe(ae,R[Oe])):Qe(re,R))){b&&b();const ae=vn;vn=a;try{const Oe=[re,R===$r?void 0:E&&R[0]===$r?[]:R,A];R=re,c?c(t,3,Oe):t(...Oe)}finally{vn=ae}}}else a.run()};return f&&f(z),a=new ka(v),a.scheduler=i?()=>i(z,!1):z,A=N=>Z0(N,!1,a),b=a.onStop=()=>{const N=oo.get(a);if(N){if(c)c(N,4);else for(const re of N)re();oo.delete(a)}},t?r?z(!0):R=a.run():i?i(z.bind(null,!0),!0):a.run(),T.pause=a.pause.bind(a),T.resume=a.resume.bind(a),T.stop=T,T}function Zt(e,t=1/0,n){if(t<=0||!we(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ot(e))Zt(e.value,t,n);else if(J(e))for(let r=0;r{Zt(r,t,n)});else if(Da(e)){for(const r in e)Zt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Zt(e[r],t,n)}return e}function Or(e,t,n,r){try{return r?e(...r):e()}catch(o){_o(o,t,n)}}function Bt(e,t,n,r){if(ee(e)){const o=Or(e,t,n,r);return o&&Sa(o)&&o.catch(s=>{_o(s,t,n)}),o}if(J(e)){const o=[];for(let s=0;s>>1,o=at[r],s=Cr(o);s=Cr(n)?at.push(e):at.splice(tf(t),0,e),e.flags|=1,Ja()}}function Ja(){so||(so=Ka.then(Qa))}function Za(e){J(e)?Vn.push(...e):un&&e.id===-1?un.splice(Un+1,0,e):e.flags&1||(Vn.push(e),e.flags|=1),Ja()}function si(e,t,n=jt+1){for(;nCr(n)-Cr(r));if(Vn.length=0,un){un.push(...t);return}for(un=t,Un=0;Une.id==null?e.flags&2?-1:1/0:e.id;function Qa(e){try{for(jt=0;jtXn;function Xn(e,t=Ke,n){if(!t||e._n)return e;const r=(...o)=>{r._d&&co(-1);const s=uo(t);let i;try{i=e(...o)}finally{uo(s),r._d&&co(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function nf(e,t){if(Ke===null)return e;const n=Fo(Ke),r=e.dirs||(e.dirs=[]);for(let o=0;o1)return n&&ee(t)?t.call(r&&r.proxy):t}}const of=Symbol.for("v-scx"),sf=()=>An(of);function uf(e,t){return fu(e,null,{flush:"sync"})}function Wr(e,t,n){return fu(e,t,n)}function fu(e,t,n=he){const{immediate:r,deep:o,flush:s,once:i}=n,f=ze({},n),c=t&&r||!t&&s!=="post";let d;if(Dr){if(s==="sync"){const A=sf();d=A.__watcherHandles||(A.__watcherHandles=[])}else if(!c){const A=()=>{};return A.stop=St,A.resume=St,A.pause=St,A}}const a=nt;f.call=(A,P,E)=>Bt(A,a,P,E);let v=!1;s==="post"?f.scheduler=A=>{dt(A,a&&a.suspense)}:s!=="sync"&&(v=!0,f.scheduler=(A,P)=>{P?A():cu(A)}),f.augmentJob=A=>{t&&(A.flags|=4),v&&(A.flags|=2,a&&(A.id=a.uid,A.i=a))};const b=Y0(e,t,f);return Dr&&(d?d.push(b):c&&b()),b}function af(e,t,n){const r=this.proxy,o=Te(e)?e.includes(".")?el(r,e):()=>r[e]:e.bind(r,r);let s;ee(t)?s=t:(s=t.handler,n=t);const i=Rr(this),f=fu(o,s.bind(r),n);return i(),f}function el(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;oe.__isTeleport,At=Symbol("_leaveCb"),nr=Symbol("_enterCb");function cf(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return pu(()=>{e.isMounted=!0}),fl(()=>{e.isUnmounting=!0}),e}const wt=[Function,Array],nl={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:wt,onEnter:wt,onAfterEnter:wt,onEnterCancelled:wt,onBeforeLeave:wt,onLeave:wt,onAfterLeave:wt,onLeaveCancelled:wt,onBeforeAppear:wt,onAppear:wt,onAfterAppear:wt,onAppearCancelled:wt},rl=e=>{const t=e.subTree;return t.component?rl(t.component):t},ff={name:"BaseTransition",props:nl,setup(e,{slots:t}){const n=Zn(),r=cf();return()=>{const o=t.default&&ul(t.default(),!0),s=o&&o.length?ol(o):n.subTree?cr():void 0;if(!s)return;const i=ye(e),{mode:f}=i;if(r.isLeaving)return ns(s);const c=ui(s);if(!c)return ns(s);let d=ks(c,i,r,n,v=>d=v);c.type!==tt&&Ar(c,d);let a=n.subTree&&ui(n.subTree);if(a&&a.type!==tt&&!mn(a,c)&&rl(n).type!==tt){let v=ks(a,i,r,n);if(Ar(a,v),f==="out-in"&&c.type!==tt)return r.isLeaving=!0,v.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete v.afterLeave,a=void 0},ns(s);f==="in-out"&&c.type!==tt?v.delayLeave=(b,A,P)=>{const E=sl(r,a);E[String(a.key)]=a,b[At]=()=>{A(),b[At]=void 0,delete d.delayedLeave,a=void 0},d.delayedLeave=()=>{P(),delete d.delayedLeave,a=void 0}}:a=void 0}else a&&(a=void 0);return s}}};function ol(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==tt){t=n;break}}return t}const pf=ff;function sl(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function ks(e,t,n,r,o){const{appear:s,mode:i,persisted:f=!1,onBeforeEnter:c,onEnter:d,onAfterEnter:a,onEnterCancelled:v,onBeforeLeave:b,onLeave:A,onAfterLeave:P,onLeaveCancelled:E,onBeforeAppear:M,onAppear:T,onAfterAppear:R,onAppearCancelled:z}=t,N=String(e.key),re=sl(n,e),ae=(X,Q)=>{X&&Bt(X,r,9,Q)},Oe=(X,Q)=>{const oe=Q[1];ae(X,Q),J(X)?X.every(H=>H.length<=1)&&oe():X.length<=1&&oe()},Ce={mode:i,persisted:f,beforeEnter(X){let Q=c;if(!n.isMounted)if(s)Q=M||c;else return;X[At]&&X[At](!0);const oe=re[N];oe&&mn(e,oe)&&oe.el[At]&&oe.el[At](),ae(Q,[X])},enter(X){if(re[N]===e)return;let Q=d,oe=a,H=v;if(!n.isMounted)if(s)Q=T||d,oe=R||a,H=z||v;else return;let ge=!1;X[nr]=Ae=>{ge||(ge=!0,Ae?ae(H,[X]):ae(oe,[X]),Ce.delayedLeave&&Ce.delayedLeave(),X[nr]=void 0)};const ve=X[nr].bind(null,!1);Q?Oe(Q,[X,ve]):ve()},leave(X,Q){const oe=String(e.key);if(X[nr]&&X[nr](!0),n.isUnmounting)return Q();ae(b,[X]);let H=!1;X[At]=ve=>{H||(H=!0,Q(),ve?ae(E,[X]):ae(P,[X]),X[At]=void 0,re[oe]===e&&delete re[oe])};const ge=X[At].bind(null,!1);re[oe]=e,A?Oe(A,[X,ge]):ge()},clone(X){const Q=ks(X,t,n,r,o);return o&&o(Q),Q}};return Ce}function ns(e){if(To(e))return e=an(e),e.children=null,e}function ui(e){if(!To(e))return tl(e.type)&&e.children?ol(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ee(n.default))return n.default()}}function Ar(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Ar(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ul(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;sn.value,set:o=>n.value=o})}return n}function ii(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const io=new WeakMap;function gr(e,t,n,r,o=!1){if(J(e)){e.forEach((E,M)=>gr(E,t&&(J(t)?t[M]:t),n,r,o));return}if(Gn(r)&&!o){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&gr(e,t,n,r.component.subTree);return}const s=r.shapeFlag&4?Fo(r.component):r.el,i=o?null:s,{i:f,r:c}=e,d=t&&t.r,a=f.refs===he?f.refs={}:f.refs,v=f.setupState,b=ye(v),A=v===he?Aa:E=>ii(a,E)?!1:be(b,E),P=(E,M)=>!(M&&ii(a,M));if(d!=null&&d!==c){if(ai(t),Te(d))a[d]=null,A(d)&&(v[d]=null);else if(ot(d)){const E=t;P(d,E.k)&&(d.value=null),E.k&&(a[E.k]=null)}}if(ee(c))Or(c,f,12,[i,a]);else{const E=Te(c),M=ot(c);if(E||M){const T=()=>{if(e.f){const R=E?A(c)?v[c]:a[c]:P()||!e.k?c.value:a[e.k];if(o)J(R)&&eu(R,s);else if(J(R))R.includes(s)||R.push(s);else if(E)a[c]=[s],A(c)&&(v[c]=a[c]);else{const z=[s];P(c,e.k)&&(c.value=z),e.k&&(a[e.k]=z)}}else E?(a[c]=i,A(c)&&(v[c]=i)):M&&(P(c,e.k)&&(c.value=i),e.k&&(a[e.k]=i))};if(i){const R=()=>{T(),io.delete(e)};R.id=-1,io.set(e,R),dt(R,n)}else ai(e),T()}}}function ai(e){const t=io.get(e);t&&(t.flags|=8,io.delete(e))}no().requestIdleCallback,no().cancelIdleCallback;const Gn=e=>!!e.type.__asyncLoader,To=e=>e.type.__isKeepAlive;function df(e,t){ll(e,"a",t)}function hf(e,t){ll(e,"da",t)}function ll(e,t,n=nt){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Oo(t,r,n),n){let o=n.parent;for(;o&&o.parent;)To(o.parent.vnode)&&gf(r,t,n,o),o=o.parent}}function gf(e,t,n,r){const o=Oo(t,e,r,!0);du(()=>{eu(r[t],o)},n)}function Oo(e,t,n=nt,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{en();const f=Rr(n),c=Bt(t,n,e,i);return f(),tn(),c});return r?o.unshift(s):o.push(s),s}}const on=e=>(t,n=nt)=>{(!Dr||e==="sp")&&Oo(e,(...r)=>t(...r),n)},vf=on("bm"),pu=on("m"),cl=on("bu"),mf=on("u"),fl=on("bum"),du=on("um"),Ef=on("sp"),yf=on("rtg"),bf=on("rtc");function wf(e,t=nt){Oo("ec",e,t)}const hu="components",Cf="directives";function ag(e,t){return gu(hu,e,!0,t)||e}const pl=Symbol.for("v-ndc");function Af(e){return Te(e)?gu(hu,e,!1)||e:e||pl}function lg(e){return gu(Cf,e)}function gu(e,t,n=!0,r=!1){const o=Ke||nt;if(o){const s=o.type;if(e===hu){const f=ip(s,!1);if(f&&(f===t||f===rt(t)||f===wo(rt(t))))return s}const i=li(o[e]||s[e],t)||li(o.appContext[e],t);return!i&&r?s:i}}function li(e,t){return e&&(e[t]||e[rt(t)]||e[wo(rt(t))])}function cg(e,t,n,r){let o;const s=n,i=J(e);if(i||Te(e)){const f=i&&Cn(e);let c=!1,d=!1;f&&(c=!_t(e),d=nn(e),e=xo(e)),o=new Array(e.length);for(let a=0,v=e.length;at(f,c,void 0,s));else{const f=Object.keys(e);o=new Array(f.length);for(let c=0,d=f.length;c{const s=r.fn(...o);return s&&(s.key=r.key),s}:r.fn)}return e}function xr(e,t,n={},r,o){if(Ke.ce||Ke.parent&&Gn(Ke.parent)&&Ke.parent.ce){const d=Object.keys(n).length>0;return t!=="default"&&(n.name=t),He(),xt(ht,null,[gt("slot",n,r&&r())],d?-2:64)}let s=e[t];s&&s._c&&(s._d=!1),He();const i=s&&dl(s(n)),f=n.key||i&&i.key,c=xt(ht,{key:(f&&!Rt(f)?f:`_${t}`)+(!i&&r?"_fb":"")},i||(r?r():[]),i&&e._===1?64:-2);return!o&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),s&&s._c&&(s._d=!0),c}function dl(e){return e.some(t=>_r(t)?!(t.type===tt||t.type===ht&&!dl(t.children)):!0)?e:null}function fg(e,t){const n={};for(const r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:Gr(r)]=e[r];return n}const Ns=e=>e?Ll(e)?Fo(e):Ns(e.parent):null,vr=ze(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ns(e.parent),$root:e=>Ns(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>gl(e),$forceUpdate:e=>e.f||(e.f=()=>{cu(e.update)}),$nextTick:e=>e.n||(e.n=ef.bind(e.proxy)),$watch:e=>af.bind(e)}),rs=(e,t)=>e!==he&&!e.__isScriptSetup&&be(e,t),Sf={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:o,props:s,accessCache:i,type:f,appContext:c}=e;if(t[0]!=="$"){const b=i[t];if(b!==void 0)switch(b){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(rs(r,t))return i[t]=1,r[t];if(o!==he&&be(o,t))return i[t]=2,o[t];if(be(s,t))return i[t]=3,s[t];if(n!==he&&be(n,t))return i[t]=4,n[t];Ls&&(i[t]=0)}}const d=vr[t];let a,v;if(d)return t==="$attrs"&&et(e.attrs,"get",""),d(e);if((a=f.__cssModules)&&(a=a[t]))return a;if(n!==he&&be(n,t))return i[t]=4,n[t];if(v=c.config.globalProperties,be(v,t))return v[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return rs(o,t)?(o[t]=n,!0):r!==he&&be(r,t)?(r[t]=n,!0):be(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,props:s,type:i}},f){let c;return!!(n[f]||e!==he&&f[0]!=="$"&&be(e,f)||rs(t,f)||be(s,f)||be(r,f)||be(vr,f)||be(o.config.globalProperties,f)||(c=i.__cssModules)&&c[f])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:be(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function _f(){return Df().attrs}function Df(e){const t=Zn();return t.setupContext||(t.setupContext=Il(t))}function ao(e){return J(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Fs(e,t){return!e||!t?e||t:J(e)&&J(t)?e.concat(t):ze({},ao(e),ao(t))}let Ls=!0;function Bf(e){const t=gl(e),n=e.proxy,r=e.ctx;Ls=!1,t.beforeCreate&&ci(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:i,watch:f,provide:c,inject:d,created:a,beforeMount:v,mounted:b,beforeUpdate:A,updated:P,activated:E,deactivated:M,beforeDestroy:T,beforeUnmount:R,destroyed:z,unmounted:N,render:re,renderTracked:ae,renderTriggered:Oe,errorCaptured:Ce,serverPrefetch:X,expose:Q,inheritAttrs:oe,components:H,directives:ge,filters:ve}=t;if(d&&Tf(d,r,null),i)for(const K in i){const le=i[K];ee(le)&&(r[K]=le.bind(n))}if(o){const K=o.call(n,n);we(K)&&(e.data=iu(K))}if(Ls=!0,s)for(const K in s){const le=s[K],$e=ee(le)?le.bind(n,n):ee(le.get)?le.get.bind(n,n):St,mt=!ee(le)&&ee(le.set)?le.set.bind(n):St,Ve=Ye({get:$e,set:mt});Object.defineProperty(r,K,{enumerable:!0,configurable:!0,get:()=>Ve.value,set:Re=>Ve.value=Re})}if(f)for(const K in f)hl(f[K],r,n,K);if(c){const K=ee(c)?c.call(n):c;Reflect.ownKeys(K).forEach(le=>{rf(le,K[le])})}a&&ci(a,e,"c");function Ae(K,le){J(le)?le.forEach($e=>K($e.bind(n))):le&&K(le.bind(n))}if(Ae(vf,v),Ae(pu,b),Ae(cl,A),Ae(mf,P),Ae(df,E),Ae(hf,M),Ae(wf,Ce),Ae(bf,ae),Ae(yf,Oe),Ae(fl,R),Ae(du,N),Ae(Ef,X),J(Q))if(Q.length){const K=e.exposed||(e.exposed={});Q.forEach(le=>{Object.defineProperty(K,le,{get:()=>n[le],set:$e=>n[le]=$e,enumerable:!0})})}else e.exposed||(e.exposed={});re&&e.render===St&&(e.render=re),oe!=null&&(e.inheritAttrs=oe),H&&(e.components=H),ge&&(e.directives=ge),X&&il(e)}function Tf(e,t,n=St){J(e)&&(e=Ps(e));for(const r in e){const o=e[r];let s;we(o)?"default"in o?s=An(o.from||r,o.default,!0):s=An(o.from||r):s=An(o),ot(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function ci(e,t,n){Bt(J(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function hl(e,t,n,r){let o=r.includes(".")?el(n,r):()=>n[r];if(Te(e)){const s=t[e];ee(s)&&Wr(o,s)}else if(ee(e))Wr(o,e.bind(n));else if(we(e))if(J(e))e.forEach(s=>hl(s,t,n,r));else{const s=ee(e.handler)?e.handler.bind(n):t[e.handler];ee(s)&&Wr(o,s,e)}}function gl(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,f=s.get(t);let c;return f?c=f:!o.length&&!n&&!r?c=t:(c={},o.length&&o.forEach(d=>lo(c,d,i,!0)),lo(c,t,i)),we(t)&&s.set(t,c),c}function lo(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&lo(e,s,n,!0),o&&o.forEach(i=>lo(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const f=Of[i]||n&&n[i];e[i]=f?f(e[i],t[i]):t[i]}return e}const Of={data:fi,props:pi,emits:pi,methods:lr,computed:lr,beforeCreate:st,created:st,beforeMount:st,mounted:st,beforeUpdate:st,updated:st,beforeDestroy:st,beforeUnmount:st,destroyed:st,unmounted:st,activated:st,deactivated:st,errorCaptured:st,serverPrefetch:st,components:lr,directives:lr,watch:kf,provide:fi,inject:Rf};function fi(e,t){return t?e?function(){return ze(ee(e)?e.call(this,this):e,ee(t)?t.call(this,this):t)}:t:e}function Rf(e,t){return lr(Ps(e),Ps(t))}function Ps(e){if(J(e)){const t={};for(let n=0;n{let a,v=he,b;return uf(()=>{const A=e[o];Qe(a,A)&&(a=A,d())}),{get(){return c(),n.get?n.get(a):a},set(A){const P=n.set?n.set(A):A;if(!Qe(P,a)&&!(v!==he&&Qe(A,v)))return;const E=r.vnode.props;E&&(t in E||o in E||s in E)&&(`onUpdate:${t}`in E||`onUpdate:${o}`in E||`onUpdate:${s}`in E)||(a=A,d()),r.emit(`update:${t}`,P),Qe(A,P)&&Qe(A,v)&&!Qe(P,b)&&d(),v=A,b=P}}});return f[Symbol.iterator]=()=>{let c=0;return{next(){return c<2?{value:c++?i||he:f,done:!1}:{done:!0}}}},f}const El=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${rt(t)}Modifiers`]||e[`${rn(t)}Modifiers`];function Lf(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||he;let o=n;const s=t.startsWith("update:"),i=s&&El(r,t.slice(7));i&&(i.trim&&(o=n.map(a=>Te(a)?a.trim():a)),i.number&&(o=n.map(nu)));let f,c=r[f=Gr(t)]||r[f=Gr(rt(t))];!c&&s&&(c=r[f=Gr(rn(t))]),c&&Bt(c,e,6,o);const d=r[f+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[f])return;e.emitted[f]=!0,Bt(d,e,6,o)}}const Pf=new WeakMap;function yl(e,t,n=!1){const r=n?Pf:t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let i={},f=!1;if(!ee(e)){const c=d=>{const a=yl(d,t,!0);a&&(f=!0,ze(i,a))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!s&&!f?(we(e)&&r.set(e,null),null):(J(s)?s.forEach(c=>i[c]=null):ze(i,s),we(e)&&r.set(e,i),i)}function Ro(e,t){return!e||!Eo(t)?!1:(t=t.slice(2).replace(/Once$/,""),be(e,t[0].toLowerCase()+t.slice(1))||be(e,rn(t))||be(e,t))}function di(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[s],slots:i,attrs:f,emit:c,render:d,renderCache:a,props:v,data:b,setupState:A,ctx:P,inheritAttrs:E}=e,M=uo(e);let T,R;try{if(n.shapeFlag&4){const N=o||r,re=N;T=$t(d.call(re,N,a,v,A,b,P)),R=f}else{const N=t;T=$t(N.length>1?N(v,{attrs:f,slots:i,emit:c}):N(v,null)),R=t.props?f:If(f)}}catch(N){mr.length=0,_o(N,e,1),T=gt(tt)}let z=T;if(R&&E!==!1){const N=Object.keys(R),{shapeFlag:re}=z;N.length&&re&7&&(s&&N.some(yo)&&(R=jf(R,s)),z=an(z,R,!1,!0))}return n.dirs&&(z=an(z,null,!1,!0),z.dirs=z.dirs?z.dirs.concat(n.dirs):n.dirs),n.transition&&Ar(z,n.transition),T=z,uo(M),T}const If=e=>{let t;for(const n in e)(n==="class"||n==="style"||Eo(n))&&((t||(t={}))[n]=e[n]);return t},jf=(e,t)=>{const n={};for(const r in e)(!yo(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Uf(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:f,patchFlag:c}=t,d=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?hi(r,i,d):!!i;if(c&8){const a=t.dynamicProps;for(let v=0;vObject.create(wl),Al=e=>Object.getPrototypeOf(e)===wl;function zf(e,t,n,r=!1){const o={},s=Cl();e.propsDefaults=Object.create(null),xl(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:$0(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function $f(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:i}}=e,f=ye(o),[c]=e.propsOptions;let d=!1;if((r||i>0)&&!(i&16)){if(i&8){const a=e.vnode.dynamicProps;for(let v=0;v{c=!0;const[b,A]=Sl(v,t,!0);ze(i,b),A&&f.push(...A)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!s&&!c)return we(e)&&r.set(e,$n),$n;if(J(s))for(let a=0;ae==="_"||e==="_ctx"||e==="$stable",mu=e=>J(e)?e.map($t):[$t(e)],Vf=(e,t,n)=>{if(t._n)return t;const r=Xn((...o)=>mu(t(...o)),n);return r._c=!1,r},_l=(e,t,n)=>{const r=e._ctx;for(const o in e){if(vu(o))continue;const s=e[o];if(ee(s))t[o]=Vf(o,s,r);else if(s!=null){const i=mu(s);t[o]=()=>i}}},Dl=(e,t)=>{const n=mu(t);e.slots.default=()=>n},Bl=(e,t,n)=>{for(const r in t)(n||!vu(r))&&(e[r]=t[r])},Gf=(e,t,n)=>{const r=e.slots=Cl();if(e.vnode.shapeFlag&32){const o=t._;o?(Bl(r,t,n),n&&Ba(r,"_",o,!0)):_l(t,r)}else t&&Dl(e,t)},qf=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,i=he;if(r.shapeFlag&32){const f=t._;f?n&&f===1?s=!1:Bl(o,t,n):(s=!t.$stable,_l(t,o)),i=t}else t&&(Dl(e,t),i={default:1});if(s)for(const f in o)!vu(f)&&i[f]==null&&delete o[f]},dt=Zf;function Wf(e){return Xf(e)}function Xf(e,t){const n=no();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:i,createText:f,createComment:c,setText:d,setElementText:a,parentNode:v,nextSibling:b,setScopeId:A=St,insertStaticContent:P}=e,E=(g,y,x,O=null,D=null,_=null,j=void 0,L=null,I=!!y.dynamicChildren)=>{if(g===y)return;g&&!mn(g,y)&&(O=ft(g),je(g,D,_,!0),g=null),y.patchFlag===-2&&(I=!1,y.dynamicChildren=null);const{type:B,ref:q,shapeFlag:$}=y;switch(B){case ko:M(g,y,x,O);break;case tt:T(g,y,x,O);break;case Xr:g==null&&R(y,x,O,j);break;case ht:H(g,y,x,O,D,_,j,L,I);break;default:$&1?re(g,y,x,O,D,_,j,L,I):$&6?ge(g,y,x,O,D,_,j,L,I):($&64||$&128)&&B.process(g,y,x,O,D,_,j,L,I,se)}q!=null&&D?gr(q,g&&g.ref,_,y||g,!y):q==null&&g&&g.ref!=null&&gr(g.ref,null,_,g,!0)},M=(g,y,x,O)=>{if(g==null)r(y.el=f(y.children),x,O);else{const D=y.el=g.el;y.children!==g.children&&d(D,y.children)}},T=(g,y,x,O)=>{g==null?r(y.el=c(y.children||""),x,O):y.el=g.el},R=(g,y,x,O)=>{[g.el,g.anchor]=P(g.children,y,x,O,g.el,g.anchor)},z=({el:g,anchor:y},x,O)=>{let D;for(;g&&g!==y;)D=b(g),r(g,x,O),g=D;r(y,x,O)},N=({el:g,anchor:y})=>{let x;for(;g&&g!==y;)x=b(g),o(g),g=x;o(y)},re=(g,y,x,O,D,_,j,L,I)=>{if(y.type==="svg"?j="svg":y.type==="math"&&(j="mathml"),g==null)ae(y,x,O,D,_,j,L,I);else{const B=g.el&&g.el._isVueCE?g.el:null;try{B&&B._beginPatch(),X(g,y,D,_,j,L,I)}finally{B&&B._endPatch()}}},ae=(g,y,x,O,D,_,j,L)=>{let I,B;const{props:q,shapeFlag:$,transition:V,dirs:W}=g;if(I=g.el=i(g.type,_,q&&q.is,q),$&8?a(I,g.children):$&16&&Ce(g.children,I,null,O,D,os(g,_),j,L),W&&pn(g,null,O,"created"),Oe(I,g,g.scopeId,j,O),q){for(const fe in q)fe!=="value"&&!pr(fe)&&s(I,fe,null,q[fe],_,O);"value"in q&&s(I,"value",null,q.value,_),(B=q.onVnodeBeforeMount)&&Pt(B,O,g)}W&&pn(g,null,O,"beforeMount");const Z=Kf(D,V);Z&&V.beforeEnter(I),r(I,y,x),((B=q&&q.onVnodeMounted)||Z||W)&&dt(()=>{B&&Pt(B,O,g),Z&&V.enter(I),W&&pn(g,null,O,"mounted")},D)},Oe=(g,y,x,O,D)=>{if(x&&A(g,x),O)for(let _=0;_{for(let B=I;B{const L=y.el=g.el;let{patchFlag:I,dynamicChildren:B,dirs:q}=y;I|=g.patchFlag&16;const $=g.props||he,V=y.props||he;let W;if(x&&dn(x,!1),(W=V.onVnodeBeforeUpdate)&&Pt(W,x,y,g),q&&pn(y,g,x,"beforeUpdate"),x&&dn(x,!0),($.innerHTML&&V.innerHTML==null||$.textContent&&V.textContent==null)&&a(L,""),B?Q(g.dynamicChildren,B,L,x,O,os(y,D),_):j||$e(g,y,L,null,x,O,os(y,D),_,!1),I>0){if(I&16)oe(L,$,V,x,D);else if(I&2&&$.class!==V.class&&s(L,"class",null,V.class,D),I&4&&s(L,"style",$.style,V.style,D),I&8){const Z=y.dynamicProps;for(let fe=0;fe{W&&Pt(W,x,y,g),q&&pn(y,g,x,"updated")},O)},Q=(g,y,x,O,D,_,j)=>{for(let L=0;L{if(y!==x){if(y!==he)for(const _ in y)!pr(_)&&!(_ in x)&&s(g,_,y[_],null,D,O);for(const _ in x){if(pr(_))continue;const j=x[_],L=y[_];j!==L&&_!=="value"&&s(g,_,L,j,D,O)}"value"in x&&s(g,"value",y.value,x.value,D)}},H=(g,y,x,O,D,_,j,L,I)=>{const B=y.el=g?g.el:f(""),q=y.anchor=g?g.anchor:f("");let{patchFlag:$,dynamicChildren:V,slotScopeIds:W}=y;W&&(L=L?L.concat(W):W),g==null?(r(B,x,O),r(q,x,O),Ce(y.children||[],x,q,D,_,j,L,I)):$>0&&$&64&&V&&g.dynamicChildren&&g.dynamicChildren.length===V.length?(Q(g.dynamicChildren,V,x,D,_,j,L),(y.key!=null||D&&y===D.subTree)&&Tl(g,y,!0)):$e(g,y,x,q,D,_,j,L,I)},ge=(g,y,x,O,D,_,j,L,I)=>{y.slotScopeIds=L,g==null?y.shapeFlag&512?D.ctx.activate(y,x,O,j,I):ve(y,x,O,D,_,j,I):Ae(g,y,I)},ve=(g,y,x,O,D,_,j)=>{const L=g.component=rp(g,O,D);if(To(g)&&(L.ctx.renderer=se),op(L,!1,j),L.asyncDep){if(D&&D.registerDep(L,K,j),!g.el){const I=L.subTree=gt(tt);T(null,I,y,x),g.placeholder=I.el}}else K(L,g,y,x,D,_,j)},Ae=(g,y,x)=>{const O=y.component=g.component;if(Uf(g,y,x))if(O.asyncDep&&!O.asyncResolved){le(O,y,x);return}else O.next=y,O.update();else y.el=g.el,O.vnode=y},K=(g,y,x,O,D,_,j)=>{const L=()=>{if(g.isMounted){let{next:$,bu:V,u:W,parent:Z,vnode:fe}=g;{const l=Ol(g);if(l){$&&($.el=fe.el,le(g,$,j)),l.asyncDep.then(()=>{dt(()=>{g.isUnmounted||B()},D)});return}}let me=$,de;dn(g,!1),$?($.el=fe.el,le(g,$,j)):$=fe,V&&qr(V),(de=$.props&&$.props.onVnodeBeforeUpdate)&&Pt(de,Z,$,fe),dn(g,!0);const ke=di(g),u=g.subTree;g.subTree=ke,E(u,ke,v(u.el),ft(u),g,D,_),$.el=ke.el,me===null&&Mf(g,ke.el),W&&dt(W,D),(de=$.props&&$.props.onVnodeUpdated)&&dt(()=>Pt(de,Z,$,fe),D)}else{let $;const{el:V,props:W}=y,{bm:Z,m:fe,parent:me,root:de,type:ke}=g,u=Gn(y);dn(g,!1),Z&&qr(Z),!u&&($=W&&W.onVnodeBeforeMount)&&Pt($,me,y),dn(g,!0);{de.ce&&de.ce._hasShadowRoot()&&de.ce._injectChildStyle(ke,g.parent?g.parent.type:void 0);const l=g.subTree=di(g);E(null,l,x,O,g,D,_),y.el=l.el}if(fe&&dt(fe,D),!u&&($=W&&W.onVnodeMounted)){const l=y;dt(()=>Pt($,me,l),D)}(y.shapeFlag&256||me&&Gn(me.vnode)&&me.vnode.shapeFlag&256)&&g.a&&dt(g.a,D),g.isMounted=!0,y=x=O=null}};g.scope.on();const I=g.effect=new ka(L);g.scope.off();const B=g.update=I.run.bind(I),q=g.job=I.runIfDirty.bind(I);q.i=g,q.id=g.uid,I.scheduler=()=>cu(q),dn(g,!0),B()},le=(g,y,x)=>{y.component=g;const O=g.vnode.props;g.vnode=y,g.next=null,$f(g,y.props,O,x),qf(g,y.children,x),en(),si(g),tn()},$e=(g,y,x,O,D,_,j,L,I=!1)=>{const B=g&&g.children,q=g?g.shapeFlag:0,$=y.children,{patchFlag:V,shapeFlag:W}=y;if(V>0){if(V&128){Ve(B,$,x,O,D,_,j,L,I);return}else if(V&256){mt(B,$,x,O,D,_,j,L,I);return}}W&8?(q&16&&pe(B,D,_),$!==B&&a(x,$)):q&16?W&16?Ve(B,$,x,O,D,_,j,L,I):pe(B,D,_,!0):(q&8&&a(x,""),W&16&&Ce($,x,O,D,_,j,L,I))},mt=(g,y,x,O,D,_,j,L,I)=>{g=g||$n,y=y||$n;const B=g.length,q=y.length,$=Math.min(B,q);let V;for(V=0;V<$;V++){const W=y[V]=I?Kt(y[V]):$t(y[V]);E(g[V],W,x,null,D,_,j,L,I)}B>q?pe(g,D,_,!0,!1,$):Ce(y,x,O,D,_,j,L,I,$)},Ve=(g,y,x,O,D,_,j,L,I)=>{let B=0;const q=y.length;let $=g.length-1,V=q-1;for(;B<=$&&B<=V;){const W=g[B],Z=y[B]=I?Kt(y[B]):$t(y[B]);if(mn(W,Z))E(W,Z,x,null,D,_,j,L,I);else break;B++}for(;B<=$&&B<=V;){const W=g[$],Z=y[V]=I?Kt(y[V]):$t(y[V]);if(mn(W,Z))E(W,Z,x,null,D,_,j,L,I);else break;$--,V--}if(B>$){if(B<=V){const W=V+1,Z=WV)for(;B<=$;)je(g[B],D,_,!0),B++;else{const W=B,Z=B,fe=new Map;for(B=Z;B<=V;B++){const w=y[B]=I?Kt(y[B]):$t(y[B]);w.key!=null&&fe.set(w.key,B)}let me,de=0;const ke=V-Z+1;let u=!1,l=0;const p=new Array(ke);for(B=0;B=ke){je(w,D,_,!0);continue}let S;if(w.key!=null)S=fe.get(w.key);else for(me=Z;me<=V;me++)if(p[me-Z]===0&&mn(w,y[me])){S=me;break}S===void 0?je(w,D,_,!0):(p[S-Z]=B+1,S>=l?l=S:u=!0,E(w,y[S],x,null,D,_,j,L,I),de++)}const m=u?Jf(p):$n;for(me=m.length-1,B=ke-1;B>=0;B--){const w=Z+B,S=y[w],F=y[w+1],Ee=w+1{const{el:_,type:j,transition:L,children:I,shapeFlag:B}=g;if(B&6){Re(g.component.subTree,y,x,O);return}if(B&128){g.suspense.move(y,x,O);return}if(B&64){j.move(g,y,x,se);return}if(j===ht){r(_,y,x);for(let q=0;qL.enter(_),D));else{const{leave:q,delayLeave:$,afterLeave:V}=L,W=()=>{g.ctx.isUnmounted?o(_):r(_,y,x)},Z=()=>{const fe=_._isLeaving||!!_[At];_._isLeaving&&_[At](!0),L.persisted&&!fe?W():q(_,()=>{W(),V&&V()})};$?$(_,W,Z):Z()}else r(_,y,x)},je=(g,y,x,O=!1,D=!1)=>{const{type:_,props:j,ref:L,children:I,dynamicChildren:B,shapeFlag:q,patchFlag:$,dirs:V,cacheIndex:W,memo:Z}=g;if($===-2&&(D=!1),L!=null&&(en(),gr(L,null,x,g,!0),tn()),W!=null&&(y.renderCache[W]=void 0),q&256){y.ctx.deactivate(g);return}const fe=q&1&&V,me=!Gn(g);let de;if(me&&(de=j&&j.onVnodeBeforeUnmount)&&Pt(de,y,g),q&6)xe(g.component,x,O);else{if(q&128){g.suspense.unmount(x,O);return}fe&&pn(g,null,y,"beforeUnmount"),q&64?g.type.remove(g,y,x,se,O):B&&!B.hasOnce&&(_!==ht||$>0&&$&64)?pe(B,y,x,!1,!0):(_===ht&&$&384||!D&&q&16)&&pe(I,y,x),O&&Ft(g)}const ke=Z!=null&&W==null;(me&&(de=j&&j.onVnodeUnmounted)||fe||ke)&&dt(()=>{de&&Pt(de,y,g),fe&&pn(g,null,y,"unmounted"),ke&&(g.el=null)},x)},Ft=g=>{const{type:y,el:x,anchor:O,transition:D}=g;if(y===ht){Y(x,O);return}if(y===Xr){N(g);return}const _=()=>{o(x),D&&!D.persisted&&D.afterLeave&&D.afterLeave()};if(g.shapeFlag&1&&D&&!D.persisted){const{leave:j,delayLeave:L}=D,I=()=>j(x,_);L?L(g.el,_,I):I()}else _()},Y=(g,y)=>{let x;for(;g!==y;)x=b(g),o(g),g=x;o(y)},xe=(g,y,x)=>{const{bum:O,scope:D,job:_,subTree:j,um:L,m:I,a:B}=g;vi(I),vi(B),O&&qr(O),D.stop(),_&&(_.flags|=8,je(j,g,y,x)),L&&dt(L,y),dt(()=>{g.isUnmounted=!0},y)},pe=(g,y,x,O=!1,D=!1,_=0)=>{for(let j=_;j{if(g.shapeFlag&6)return ft(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const y=b(g.anchor||g.el),x=y&&y[lf];return x?b(x):y};let ue=!1;const Et=(g,y,x)=>{let O;g==null?y._vnode&&(je(y._vnode,null,null,!0),O=y._vnode.component):E(y._vnode||null,g,y,null,null,null,x),y._vnode=g,ue||(ue=!0,si(O),Ya(),ue=!1)},se={p:E,um:je,m:Re,r:Ft,mt:ve,mc:Ce,pc:$e,pbc:Q,n:ft,o:e};return{render:Et,hydrate:void 0,createApp:Ff(Et)}}function os({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function dn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Kf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Tl(e,t,n=!1){const r=e.children,o=t.children;if(J(r)&&J(o))for(let s=0;s>1,e[n[f]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}function Ol(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ol(t)}function vi(e){if(e)for(let t=0;te.__isSuspense;function Zf(e,t){t&&t.pendingBranch?J(e)?t.effects.push(...e):t.effects.push(e):Za(e)}const ht=Symbol.for("v-fgt"),ko=Symbol.for("v-txt"),tt=Symbol.for("v-cmt"),Xr=Symbol.for("v-stc"),mr=[];let yt=null;function He(e=!1){mr.push(yt=e?null:[])}function Yf(){mr.pop(),yt=mr[mr.length-1]||null}let Sr=1;function co(e,t=!1){Sr+=e,e<0&&yt&&t&&(yt.hasOnce=!0)}function Nl(e){return e.dynamicChildren=Sr>0?yt||$n:null,Yf(),Sr>0&&yt&&yt.push(e),e}function En(e,t,n,r,o,s){return Nl(Qt(e,t,n,r,o,s,!0))}function xt(e,t,n,r,o){return Nl(gt(e,t,n,r,o,!0))}function _r(e){return e?e.__v_isVNode===!0:!1}function mn(e,t){return e.type===t.type&&e.key===t.key}const Fl=({key:e})=>e??null,Kr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Te(e)||ot(e)||ee(e)?{i:Ke,r:e,k:t,f:!!n}:e:null);function Qt(e,t=null,n=null,r=0,o=null,s=e===ht?0:1,i=!1,f=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Fl(t),ref:t&&Kr(t),scopeId:Do,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Ke};return f?(yu(c,n),s&128&&e.normalize(c)):n&&(c.shapeFlag|=Te(n)?8:16),Sr>0&&!i&&yt&&(c.patchFlag>0||s&6)&&c.patchFlag!==32&&yt.push(c),c}const gt=Qf;function Qf(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===pl)&&(e=tt),_r(e)){const f=an(e,t,!0);return n&&yu(f,n),Sr>0&&!s&&yt&&(f.shapeFlag&6?yt[yt.indexOf(e)]=f:yt.push(f)),f.patchFlag=-2,f}if(ap(e)&&(e=e.__vccOpts),t){t=ep(t);let{class:f,style:c}=t;f&&!Te(f)&&(t.class=Jn(f)),we(c)&&(lu(c)&&!J(c)&&(c=ze({},c)),t.style=Co(c))}const i=Te(e)?1:kl(e)?128:tl(e)?64:we(e)?4:ee(e)?2:0;return Qt(e,t,n,r,o,i,s,!0)}function ep(e){return e?lu(e)||Al(e)?ze({},e):e:null}function an(e,t,n=!1,r=!1){const{props:o,ref:s,patchFlag:i,children:f,transition:c}=e,d=t?No(o||{},t):o,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&Fl(d),ref:t&&t.ref?n&&s?J(s)?s.concat(Kr(t)):[s,Kr(t)]:Kr(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:f,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ht?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&an(e.ssContent),ssFallback:e.ssFallback&&an(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Ar(a,c.clone(a)),a}function Eu(e=" ",t=0){return gt(ko,null,e,t)}function cr(e="",t=!1){return t?(He(),xt(tt,null,e)):gt(tt,null,e)}function $t(e){return e==null||typeof e=="boolean"?gt(tt):J(e)?gt(ht,null,e.slice()):_r(e)?Kt(e):gt(ko,null,String(e))}function Kt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:an(e)}function yu(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(J(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),yu(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!Al(t)?t._ctx=Ke:o===3&&Ke&&(Ke.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ee(t)?(t={default:t,_ctx:Ke},n=32):(t=String(t),r&64?(n=16,t=[Eu(t)]):n=8);e.children=t,e.shapeFlag|=n}function No(...e){const t={};for(let n=0;nnt||Ke;let fo,js;{const e=no(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),s=>{o.length>1?o.forEach(i=>i(s)):o[0](s)}};fo=t("__VUE_INSTANCE_SETTERS__",n=>nt=n),js=t("__VUE_SSR_SETTERS__",n=>Dr=n)}const Rr=e=>{const t=nt;return fo(e),e.scope.on(),()=>{e.scope.off(),fo(t)}},mi=()=>{nt&&nt.scope.off(),fo(null)};function Ll(e){return e.vnode.shapeFlag&4}let Dr=!1;function op(e,t=!1,n=!1){t&&js(t);const{props:r,children:o}=e.vnode,s=Ll(e);zf(e,r,s,t),Gf(e,o,n||t);const i=s?sp(e,t):void 0;return t&&js(!1),i}function sp(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Sf);const{setup:r}=n;if(r){en();const o=e.setupContext=r.length>1?Il(e):null,s=Rr(e),i=Or(r,e,0,[e.props,o]),f=Sa(i);if(tn(),s(),(f||e.sp)&&!Gn(e)&&il(e),f){if(i.then(mi,mi),t)return i.then(c=>{Ei(e,c)}).catch(c=>{_o(c,e,0)});e.asyncDep=i}else Ei(e,i)}else Pl(e)}function Ei(e,t,n){ee(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:we(t)&&(e.setupState=Xa(t)),Pl(e)}function Pl(e,t,n){const r=e.type;e.render||(e.render=r.render||St);{const o=Rr(e);en();try{Bf(e)}finally{tn(),o()}}}const up={get(e,t){return et(e,"get",""),e[t]}};function Il(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,up),slots:e.slots,emit:e.emit,expose:t}}function Fo(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Xa(H0(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in vr)return vr[n](e)},has(t,n){return n in t||n in vr}})):e.proxy}function ip(e,t=!0){return ee(e)?e.displayName||e.name:e.name||t&&e.__name}function ap(e){return ee(e)&&"__vccOpts"in e}const Ye=(e,t)=>J0(e,t,Dr);function lp(e,t,n){try{co(-1);const r=arguments.length;return r===2?we(t)&&!J(t)?_r(t)?gt(e,null,[t]):gt(e,t):gt(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&_r(n)&&(n=[n]),gt(e,t,n))}finally{co(1)}}const cp="3.5.35",pg=St;let Us;const yi=typeof window<"u"&&window.trustedTypes;if(yi)try{Us=yi.createPolicy("vue",{createHTML:e=>e})}catch{}const jl=Us?e=>Us.createHTML(e):e=>e,fp="http://www.w3.org/2000/svg",pp="http://www.w3.org/1998/Math/MathML",Xt=typeof document<"u"?document:null,bi=Xt&&Xt.createElement("template"),dp={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?Xt.createElementNS(fp,e):t==="mathml"?Xt.createElementNS(pp,e):n?Xt.createElement(e,{is:n}):Xt.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Xt.createTextNode(e),createComment:e=>Xt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const i=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{bi.innerHTML=jl(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const f=bi.content;if(r==="svg"||r==="mathml"){const c=f.firstChild;for(;c.firstChild;)f.appendChild(c.firstChild);f.removeChild(c)}t.insertBefore(f,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},sn="transition",rr="animation",Br=Symbol("_vtc"),Ul={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},hp=ze({},nl,Ul),gp=e=>(e.displayName="Transition",e.props=hp,e),dg=gp((e,{slots:t})=>lp(pf,vp(e),t)),hn=(e,t=[])=>{J(e)?e.forEach(n=>n(...t)):e&&e(...t)},wi=e=>e?J(e)?e.some(t=>t.length>1):e.length>1:!1;function vp(e){const t={};for(const H in e)H in Ul||(t[H]=e[H]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:f=`${n}-enter-to`,appearFromClass:c=s,appearActiveClass:d=i,appearToClass:a=f,leaveFromClass:v=`${n}-leave-from`,leaveActiveClass:b=`${n}-leave-active`,leaveToClass:A=`${n}-leave-to`}=e,P=mp(o),E=P&&P[0],M=P&&P[1],{onBeforeEnter:T,onEnter:R,onEnterCancelled:z,onLeave:N,onLeaveCancelled:re,onBeforeAppear:ae=T,onAppear:Oe=R,onAppearCancelled:Ce=z}=t,X=(H,ge,ve,Ae)=>{H._enterCancelled=Ae,gn(H,ge?a:f),gn(H,ge?d:i),ve&&ve()},Q=(H,ge)=>{H._isLeaving=!1,gn(H,v),gn(H,A),gn(H,b),ge&&ge()},oe=H=>(ge,ve)=>{const Ae=H?Oe:R,K=()=>X(ge,H,ve);hn(Ae,[ge,K]),Ci(()=>{gn(ge,H?c:s),qt(ge,H?a:f),wi(Ae)||Ai(ge,r,E,K)})};return ze(t,{onBeforeEnter(H){hn(T,[H]),qt(H,s),qt(H,i)},onBeforeAppear(H){hn(ae,[H]),qt(H,c),qt(H,d)},onEnter:oe(!1),onAppear:oe(!0),onLeave(H,ge){H._isLeaving=!0;const ve=()=>Q(H,ge);qt(H,v),H._enterCancelled?(qt(H,b),_i(H)):(_i(H),qt(H,b)),Ci(()=>{H._isLeaving&&(gn(H,v),qt(H,A),wi(N)||Ai(H,r,M,ve))}),hn(N,[H,ve])},onEnterCancelled(H){X(H,!1,void 0,!0),hn(z,[H])},onAppearCancelled(H){X(H,!0,void 0,!0),hn(Ce,[H])},onLeaveCancelled(H){Q(H),hn(re,[H])}})}function mp(e){if(e==null)return null;if(we(e))return[ss(e.enter),ss(e.leave)];{const t=ss(e);return[t,t]}}function ss(e){return g0(e)}function qt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Br]||(e[Br]=new Set)).add(t)}function gn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Br];n&&(n.delete(t),n.size||(e[Br]=void 0))}function Ci(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Ep=0;function Ai(e,t,n,r){const o=e._endId=++Ep,s=()=>{o===e._endId&&r()};if(n!=null)return setTimeout(s,n);const{type:i,timeout:f,propCount:c}=yp(e,t);if(!i)return r();const d=i+"end";let a=0;const v=()=>{e.removeEventListener(d,b),s()},b=A=>{A.target===e&&++a>=c&&v()};setTimeout(()=>{a(n[P]||"").split(", "),o=r(`${sn}Delay`),s=r(`${sn}Duration`),i=xi(o,s),f=r(`${rr}Delay`),c=r(`${rr}Duration`),d=xi(f,c);let a=null,v=0,b=0;t===sn?i>0&&(a=sn,v=i,b=s.length):t===rr?d>0&&(a=rr,v=d,b=c.length):(v=Math.max(i,d),a=v>0?i>d?sn:rr:null,b=a?a===sn?s.length:c.length:0);const A=a===sn&&/\b(?:transform|all)(?:,|$)/.test(r(`${sn}Property`).toString());return{type:a,timeout:v,propCount:b,hasTransform:A}}function xi(e,t){for(;e.lengthSi(n)+Si(e[r])))}function Si(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function _i(e){return(e?e.ownerDocument:document).body.offsetHeight}function bp(e,t,n){const r=e[Br];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const po=Symbol("_vod"),Ml=Symbol("_vsh"),wp={name:"show",beforeMount(e,{value:t},{transition:n}){e[po]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):or(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),or(e,!0),r.enter(e)):r.leave(e,()=>{or(e,!1)}):or(e,t))},beforeUnmount(e,{value:t}){or(e,t)}};function or(e,t){e.style.display=t?e[po]:"none",e[Ml]=!t}const zl=Symbol("");function Cp(e){const t=Zn();if(!t)return;const n=t.ut=(o=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(s=>ho(s,o))},r=()=>{const o=e(t.proxy);t.ce?ho(t.ce,o):Ms(t.subTree,o),n(o)};cl(()=>{Za(r)}),pu(()=>{Wr(r,St,{flush:"post"});const o=new MutationObserver(r);o.observe(t.subTree.el.parentNode,{childList:!0}),du(()=>o.disconnect())})}function Ms(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Ms(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)ho(e.el,t);else if(e.type===ht)e.children.forEach(n=>Ms(n,t));else if(e.type===Xr){let{el:n,anchor:r}=e;for(;n&&(ho(n,t),n!==r);)n=n.nextSibling}}function ho(e,t){if(e.nodeType===1){const n=e.style;let r="";for(const o in t){const s=A0(t[o]);n.setProperty(`--${o}`,s),r+=`--${o}: ${s};`}n[zl]=r}}const Ap=/(?:^|;)\s*display\s*:/;function xp(e,t,n){const r=e.style,o=Te(n);let s=!1;if(n&&!o){if(t)if(Te(t))for(const i of t.split(";")){const f=i.slice(0,i.indexOf(":")).trim();n[f]==null&&fr(r,f,"")}else for(const i in t)n[i]==null&&fr(r,i,"");for(const i in n){i==="display"&&(s=!0);const f=n[i];f!=null?_p(e,i,!Te(t)&&t?t[i]:void 0,f)||fr(r,i,f):fr(r,i,"")}}else if(o){if(t!==n){const i=r[zl];i&&(n+=";"+i),r.cssText=n,s=Ap.test(n)}}else t&&e.removeAttribute("style");po in e&&(e[po]=s?r.display:"",e[Ml]&&(r.display="none"))}const Di=/\s*!important$/;function fr(e,t,n){if(J(n))n.forEach(r=>fr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Sp(e,t);Di.test(n)?e.setProperty(rn(r),n.replace(Di,""),"important"):e[r]=n}}const Bi=["Webkit","Moz","ms"],us={};function Sp(e,t){const n=us[t];if(n)return n;let r=rt(t);if(r!=="filter"&&r in e)return us[t]=r;r=wo(r);for(let o=0;ois||(Op.then(()=>is=0),is=Date.now());function kp(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;const o=n.value;if(J(o)){const s=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{s.call(r),r._stopped=!0};const i=o.slice(),f=[r];for(let c=0;ce.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Np=(e,t,n,r,o,s)=>{const i=o==="svg";t==="class"?bp(e,r,i):t==="style"?xp(e,n,r):Eo(t)?yo(t)||Bp(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Fp(e,t,r,i))?(Ri(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Oi(e,t,r,i,s,t!=="value")):e._isVueCE&&(Lp(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Te(r)))?Ri(e,rt(t),r,s,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Oi(e,t,r,i))};function Fp(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Fi(t)&&ee(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Fi(t)&&Te(n)?!1:t in e}function Lp(e,t){const n=e._def.props;if(!n)return!1;const r=rt(t);return Array.isArray(n)?n.some(o=>rt(o)===r):Object.keys(n).some(o=>rt(o)===r)}const Li=e=>{const t=e.props["onUpdate:modelValue"]||!1;return J(t)?n=>qr(t,n):t};function Pp(e){e.target.composing=!0}function Pi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const as=Symbol("_assign");function Ii(e,t,n){return t&&(e=e.trim()),n&&(e=nu(e)),e}const hg={created(e,{modifiers:{lazy:t,trim:n,number:r}},o){e[as]=Li(o);const s=r||o.props&&o.props.type==="number";Mn(e,t?"change":"input",i=>{i.target.composing||e[as](Ii(e.value,n,s))}),(n||s)&&Mn(e,"change",()=>{e.value=Ii(e.value,n,s)}),t||(Mn(e,"compositionstart",Pp),Mn(e,"compositionend",Pi),Mn(e,"change",Pi))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:o,number:s}},i){if(e[as]=Li(i),e.composing)return;const f=(s||e.type==="number")&&!/^0\d/.test(e.value)?nu(e.value):e.value,c=t??"";if(f===c)return;const d=e.getRootNode();(d instanceof Document||d instanceof ShadowRoot)&&d.activeElement===e&&e.type!=="range"&&(r&&t===n||o&&e.value.trim()===c)||(e.value=c)}},Ip=["ctrl","shift","alt","meta"],jp={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Ip.some(n=>e[`${n}Key`]&&!t.includes(n))},gg=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((o,...s)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=(o=>{if(!("key"in o))return;const s=rn(o.key);if(t.some(i=>i===s||Up[i]===s))return e(o)}))},Mp=ze({patchProp:Np},dp);let ji;function zp(){return ji||(ji=Wf(Mp))}const mg=((...e)=>{const t=zp().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Hp(r);if(!o)return;const s=t._component;!ee(s)&&!s.render&&!s.template&&(s.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const i=n(o,!1,$p(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t});function $p(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Hp(e){return Te(e)?document.querySelector(e):e}function Vp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var $l={exports:{}},Ie=$l.exports={},Ut,Mt;function zs(){throw new Error("setTimeout has not been defined")}function $s(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?Ut=setTimeout:Ut=zs}catch{Ut=zs}try{typeof clearTimeout=="function"?Mt=clearTimeout:Mt=$s}catch{Mt=$s}})();function Hl(e){if(Ut===setTimeout)return setTimeout(e,0);if((Ut===zs||!Ut)&&setTimeout)return Ut=setTimeout,setTimeout(e,0);try{return Ut(e,0)}catch{try{return Ut.call(null,e,0)}catch{return Ut.call(this,e,0)}}}function Gp(e){if(Mt===clearTimeout)return clearTimeout(e);if((Mt===$s||!Mt)&&clearTimeout)return Mt=clearTimeout,clearTimeout(e);try{return Mt(e)}catch{try{return Mt.call(null,e)}catch{return Mt.call(this,e)}}}var Yt=[],Wn=!1,yn,Jr=-1;function qp(){!Wn||!yn||(Wn=!1,yn.length?Yt=yn.concat(Yt):Jr=-1,Yt.length&&Vl())}function Vl(){if(!Wn){var e=Hl(qp);Wn=!0;for(var t=Yt.length;t;){for(yn=Yt,Yt=[];++Jr1)for(var n=1;nconsole.error("SEMVER",...t):()=>{},ls}var cs,Mi;function Wl(){if(Mi)return cs;Mi=1;const e="2.0.0",t=256,n=Number.MAX_SAFE_INTEGER||9007199254740991,r=16,o=t-6;return cs={MAX_LENGTH:t,MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:o,MAX_SAFE_INTEGER:n,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:e,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},cs}var fs={exports:{}},zi;function Xp(){return zi||(zi=1,(function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:o}=Wl(),s=ql();t=e.exports={};const i=t.re=[],f=t.safeRe=[],c=t.src=[],d=t.safeSrc=[],a=t.t={};let v=0;const b="[a-zA-Z0-9-]",A=[["\\s",1],["\\d",o],[b,r]],P=M=>{for(const[T,R]of A)M=M.split(`${T}*`).join(`${T}{0,${R}}`).split(`${T}+`).join(`${T}{1,${R}}`);return M},E=(M,T,R)=>{const z=P(T),N=v++;s(M,N,T),a[M]=N,c[N]=T,d[N]=z,i[N]=new RegExp(T,R?"g":void 0),f[N]=new RegExp(z,R?"g":void 0)};E("NUMERICIDENTIFIER","0|[1-9]\\d*"),E("NUMERICIDENTIFIERLOOSE","\\d+"),E("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${b}*`),E("MAINVERSION",`(${c[a.NUMERICIDENTIFIER]})\\.(${c[a.NUMERICIDENTIFIER]})\\.(${c[a.NUMERICIDENTIFIER]})`),E("MAINVERSIONLOOSE",`(${c[a.NUMERICIDENTIFIERLOOSE]})\\.(${c[a.NUMERICIDENTIFIERLOOSE]})\\.(${c[a.NUMERICIDENTIFIERLOOSE]})`),E("PRERELEASEIDENTIFIER",`(?:${c[a.NONNUMERICIDENTIFIER]}|${c[a.NUMERICIDENTIFIER]})`),E("PRERELEASEIDENTIFIERLOOSE",`(?:${c[a.NONNUMERICIDENTIFIER]}|${c[a.NUMERICIDENTIFIERLOOSE]})`),E("PRERELEASE",`(?:-(${c[a.PRERELEASEIDENTIFIER]}(?:\\.${c[a.PRERELEASEIDENTIFIER]})*))`),E("PRERELEASELOOSE",`(?:-?(${c[a.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[a.PRERELEASEIDENTIFIERLOOSE]})*))`),E("BUILDIDENTIFIER",`${b}+`),E("BUILD",`(?:\\+(${c[a.BUILDIDENTIFIER]}(?:\\.${c[a.BUILDIDENTIFIER]})*))`),E("FULLPLAIN",`v?${c[a.MAINVERSION]}${c[a.PRERELEASE]}?${c[a.BUILD]}?`),E("FULL",`^${c[a.FULLPLAIN]}$`),E("LOOSEPLAIN",`[v=\\s]*${c[a.MAINVERSIONLOOSE]}${c[a.PRERELEASELOOSE]}?${c[a.BUILD]}?`),E("LOOSE",`^${c[a.LOOSEPLAIN]}$`),E("GTLT","((?:<|>)?=?)"),E("XRANGEIDENTIFIERLOOSE",`${c[a.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),E("XRANGEIDENTIFIER",`${c[a.NUMERICIDENTIFIER]}|x|X|\\*`),E("XRANGEPLAIN",`[v=\\s]*(${c[a.XRANGEIDENTIFIER]})(?:\\.(${c[a.XRANGEIDENTIFIER]})(?:\\.(${c[a.XRANGEIDENTIFIER]})(?:${c[a.PRERELEASE]})?${c[a.BUILD]}?)?)?`),E("XRANGEPLAINLOOSE",`[v=\\s]*(${c[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[a.XRANGEIDENTIFIERLOOSE]})(?:${c[a.PRERELEASELOOSE]})?${c[a.BUILD]}?)?)?`),E("XRANGE",`^${c[a.GTLT]}\\s*${c[a.XRANGEPLAIN]}$`),E("XRANGELOOSE",`^${c[a.GTLT]}\\s*${c[a.XRANGEPLAINLOOSE]}$`),E("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),E("COERCE",`${c[a.COERCEPLAIN]}(?:$|[^\\d])`),E("COERCEFULL",c[a.COERCEPLAIN]+`(?:${c[a.PRERELEASE]})?(?:${c[a.BUILD]})?(?:$|[^\\d])`),E("COERCERTL",c[a.COERCE],!0),E("COERCERTLFULL",c[a.COERCEFULL],!0),E("LONETILDE","(?:~>?)"),E("TILDETRIM",`(\\s*)${c[a.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",E("TILDE",`^${c[a.LONETILDE]}${c[a.XRANGEPLAIN]}$`),E("TILDELOOSE",`^${c[a.LONETILDE]}${c[a.XRANGEPLAINLOOSE]}$`),E("LONECARET","(?:\\^)"),E("CARETTRIM",`(\\s*)${c[a.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",E("CARET",`^${c[a.LONECARET]}${c[a.XRANGEPLAIN]}$`),E("CARETLOOSE",`^${c[a.LONECARET]}${c[a.XRANGEPLAINLOOSE]}$`),E("COMPARATORLOOSE",`^${c[a.GTLT]}\\s*(${c[a.LOOSEPLAIN]})$|^$`),E("COMPARATOR",`^${c[a.GTLT]}\\s*(${c[a.FULLPLAIN]})$|^$`),E("COMPARATORTRIM",`(\\s*)${c[a.GTLT]}\\s*(${c[a.LOOSEPLAIN]}|${c[a.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",E("HYPHENRANGE",`^\\s*(${c[a.XRANGEPLAIN]})\\s+-\\s+(${c[a.XRANGEPLAIN]})\\s*$`),E("HYPHENRANGELOOSE",`^\\s*(${c[a.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[a.XRANGEPLAINLOOSE]})\\s*$`),E("STAR","(<|>)?=?\\s*\\*"),E("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),E("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(fs,fs.exports)),fs.exports}var ps,$i;function Kp(){if($i)return ps;$i=1;const e=Object.freeze({loose:!0}),t=Object.freeze({});return ps=n=>n?typeof n!="object"?e:n:t,ps}var ds,Hi;function Jp(){if(Hi)return ds;Hi=1;const e=/^[0-9]+$/,t=(n,r)=>{if(typeof n=="number"&&typeof r=="number")return n===r?0:nt(r,n)},ds}var hs,Vi;function Xl(){if(Vi)return hs;Vi=1;const e=ql(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:n}=Wl(),{safeRe:r,t:o}=Xp(),s=Kp(),{compareIdentifiers:i}=Jp();class f{constructor(d,a){if(a=s(a),d instanceof f){if(d.loose===!!a.loose&&d.includePrerelease===!!a.includePrerelease)return d;d=d.version}else if(typeof d!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof d}".`);if(d.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",d,a),this.options=a,this.loose=!!a.loose,this.includePrerelease=!!a.includePrerelease;const v=d.trim().match(a.loose?r[o.LOOSE]:r[o.FULL]);if(!v)throw new TypeError(`Invalid Version: ${d}`);if(this.raw=d,this.major=+v[1],this.minor=+v[2],this.patch=+v[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");v[4]?this.prerelease=v[4].split(".").map(b=>{if(/^[0-9]+$/.test(b)){const A=+b;if(A>=0&&Ad.major?1:this.minord.minor?1:this.patchd.patch?1:0}comparePre(d){if(d instanceof f||(d=new f(d,this.options)),this.prerelease.length&&!d.prerelease.length)return-1;if(!this.prerelease.length&&d.prerelease.length)return 1;if(!this.prerelease.length&&!d.prerelease.length)return 0;let a=0;do{const v=this.prerelease[a],b=d.prerelease[a];if(e("prerelease compare",a,v,b),v===void 0&&b===void 0)return 0;if(b===void 0)return 1;if(v===void 0)return-1;if(v!==b)return i(v,b)}while(++a)}compareBuild(d){d instanceof f||(d=new f(d,this.options));let a=0;do{const v=this.build[a],b=d.build[a];if(e("build compare",a,v,b),v===void 0&&b===void 0)return 0;if(b===void 0)return 1;if(v===void 0)return-1;if(v!==b)return i(v,b)}while(++a)}inc(d,a,v){if(d.startsWith("pre")){if(!a&&v===!1)throw new Error("invalid increment argument: identifier is empty");if(a){const b=`-${a}`.match(this.options.loose?r[o.PRERELEASELOOSE]:r[o.PRERELEASE]);if(!b||b[1]!==a)throw new Error(`invalid identifier: ${a}`)}}switch(d){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",a,v);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",a,v);break;case"prepatch":this.prerelease.length=0,this.inc("patch",a,v),this.inc("pre",a,v);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",a,v),this.inc("pre",a,v);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const b=Number(v)?1:0;if(this.prerelease.length===0)this.prerelease=[b];else{let A=this.prerelease.length;for(;--A>=0;)typeof this.prerelease[A]=="number"&&(this.prerelease[A]++,A=-2);if(A===-1){if(a===this.prerelease.join(".")&&v===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(b)}}if(a){let A=[a,b];v===!1&&(A=[a]),i(this.prerelease[0],a)===0?isNaN(this.prerelease[1])&&(this.prerelease=A):this.prerelease=A}break}default:throw new Error(`invalid increment argument: ${d}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return hs=f,hs}var gs,Gi;function Zp(){if(Gi)return gs;Gi=1;const e=Xl();return gs=(t,n)=>new e(t,n).major,gs}var Yp=Zp();const qi=Zs(Yp);var vs,Wi;function Qp(){if(Wi)return vs;Wi=1;const e=Xl();return vs=(t,n,r=!1)=>{if(t instanceof e)return t;try{return new e(t,n)}catch(o){if(!r)return null;throw o}},vs}var ms,Xi;function ed(){if(Xi)return ms;Xi=1;const e=Qp();return ms=(t,n)=>{const r=e(t,n);return r?r.version:null},ms}var td=ed();const nd=Zs(td);class rd{bus;constructor(t){typeof t.getVersion!="function"||!nd(t.getVersion())?console.warn("Proxying an event bus with an unknown or invalid version"):qi(t.getVersion())!==qi(this.getVersion())&&console.warn("Proxying an event bus of version "+t.getVersion()+" with "+this.getVersion()),this.bus=t}getVersion(){return"3.3.3"}subscribe(t,n){this.bus.subscribe(t,n)}unsubscribe(t,n){this.bus.unsubscribe(t,n)}emit(t,...n){this.bus.emit(t,...n)}}class od{handlers=new Map;getVersion(){return"3.3.3"}subscribe(t,n){this.handlers.set(t,(this.handlers.get(t)||[]).concat(n))}unsubscribe(t,n){this.handlers.set(t,(this.handlers.get(t)||[]).filter(r=>r!==n))}emit(t,...n){(this.handlers.get(t)||[]).forEach(r=>{try{r(n[0])}catch(o){console.error("could not invoke event listener",o)}})}}let sr=null;function bu(){return sr!==null?sr:typeof window>"u"?new Proxy({},{get:()=>()=>console.error("Window not available, EventBus can not be established!")}):(window.OC?._eventBus&&typeof window._nc_event_bus>"u"&&(console.warn("found old event bus instance at OC._eventBus. Update your version!"),window._nc_event_bus=window.OC._eventBus),typeof window?._nc_event_bus<"u"?sr=new rd(window._nc_event_bus):sr=window._nc_event_bus=new od,sr)}function Kl(e,t){bu().subscribe(e,t)}function sd(e,t){bu().unsubscribe(e,t)}function ud(e,...t){bu().emit(e,...t)}class go{static GLOBAL_SCOPE_VOLATILE="nextcloud_vol";static GLOBAL_SCOPE_PERSISTENT="nextcloud_per";scope;wrapped;constructor(t,n,r){this.scope=`${r?go.GLOBAL_SCOPE_PERSISTENT:go.GLOBAL_SCOPE_VOLATILE}_${btoa(t)}_`,this.wrapped=n}scopeKey(t){return`${this.scope}${t}`}setItem(t,n){this.wrapped.setItem(this.scopeKey(t),n)}getItem(t){return this.wrapped.getItem(this.scopeKey(t))}removeItem(t){this.wrapped.removeItem(this.scopeKey(t))}clear(){Object.keys(this.wrapped).filter(t=>t.startsWith(this.scope)).map(this.wrapped.removeItem.bind(this.wrapped))}}class id{appId;persisted=!1;clearedOnLogout=!1;constructor(t){this.appId=t}persist(t=!0){return this.persisted=t,this}clearOnLogout(t=!0){return this.clearedOnLogout=t,this}build(){return new go(this.appId,this.persisted?window.localStorage:window.sessionStorage,!this.clearedOnLogout)}}function ad(e){return new id(e)}pd();function ld(){return globalThis._nc_auth_requestToken?globalThis._nc_auth_requestToken:globalThis.document?document.head.dataset.requesttoken??null:null}function Jl(e){if(!e||typeof e!="string")throw new Error("Invalid CSRF token given",{cause:{token:e}});globalThis._nc_auth_requestToken!==e&&(globalThis._nc_auth_requestToken=e,globalThis.document&&(document.head.dataset.requesttoken=e),ud("csrf-token-update",{token:e,_internal:!0}))}async function cd(){const e=Tc("/csrftoken"),t=await fetch(e);if(!t.ok)throw new Error("Could not fetch CSRF token from API",{cause:t});try{const{token:n}=await t.json();return Jl(n),n}catch(n){throw new Error("Could not parse CSRF token from API response",{cause:n})}}function fd(e){const t=async({token:n})=>{try{e(n)}catch(r){console.error("Error updating CSRF token observer",r)}};return Kl("csrf-token-update",t),()=>sd("csrf-token-update",t)}function pd(){Kl("csrf-token-update",({token:e,_internal:t})=>{t||Jl(e)})}ad("public").persist().build();let Ln;function Ki(e,t){return e?e.getAttribute(t):null}function dd(){if(Ln!==void 0)return Ln;const e=document?.getElementsByTagName("head")[0];if(!e)return null;const t=Ki(e,"data-user");return t===null?(Ln=null,Ln):(Ln={uid:t,displayName:Ki(e,"data-user-displayname"),isAdmin:!!window._oc_isadmin},Ln)}function Eg(e,t,n){const r=`#initial-state-${e}-${t}`;if(window._nc_initial_state?.has(r))return window._nc_initial_state.get(r);window._nc_initial_state||(window._nc_initial_state=new Map);const o=document.querySelector(r);if(o===null)throw new Error(`Could not find initial state ${t} of ${e}`);try{const s=JSON.parse(atob(o.value));return window._nc_initial_state.set(r,s),s}catch(s){throw console.error("[@nextcloud/initial-state] Could not parse initial state",{key:t,app:e,error:s}),new Error(`Could not parse initial state ${t} of ${e}`,{cause:s})}}const hd=Symbol("");var Zl={},Zr={};Zr.byteLength=md,Zr.toByteArray=yd,Zr.fromByteArray=Cd;for(var Ht=[],Ct=[],gd=typeof Uint8Array<"u"?Uint8Array:Array,Es="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Pn=0,vd=Es.length;Pn0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");n===-1&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function md(e){var t=Yl(e),n=t[0],r=t[1];return(n+r)*3/4-r}function Ed(e,t,n){return(t+n)*3/4-n}function yd(e){var t,n=Yl(e),r=n[0],o=n[1],s=new gd(Ed(e,r,o)),i=0,f=o>0?r-4:r,c;for(c=0;c>16&255,s[i++]=t>>8&255,s[i++]=t&255;return o===2&&(t=Ct[e.charCodeAt(c)]<<2|Ct[e.charCodeAt(c+1)]>>4,s[i++]=t&255),o===1&&(t=Ct[e.charCodeAt(c)]<<10|Ct[e.charCodeAt(c+1)]<<4|Ct[e.charCodeAt(c+2)]>>2,s[i++]=t>>8&255,s[i++]=t&255),s}function bd(e){return Ht[e>>18&63]+Ht[e>>12&63]+Ht[e>>6&63]+Ht[e&63]}function wd(e,t,n){for(var r,o=[],s=t;sf?f:i+s));return r===1?(t=e[n-1],o.push(Ht[t>>2]+Ht[t<<4&63]+"==")):r===2&&(t=(e[n-2]<<8)+e[n-1],o.push(Ht[t>>10]+Ht[t>>4&63]+Ht[t<<2&63]+"=")),o.join("")}var Vs={};Vs.read=function(e,t,n,r,o){var s,i,f=o*8-r-1,c=(1<>1,a=-7,v=n?o-1:0,b=n?-1:1,A=e[t+v];for(v+=b,s=A&(1<<-a)-1,A>>=-a,a+=f;a>0;s=s*256+e[t+v],v+=b,a-=8);for(i=s&(1<<-a)-1,s>>=-a,a+=r;a>0;i=i*256+e[t+v],v+=b,a-=8);if(s===0)s=1-d;else{if(s===c)return i?NaN:(A?-1:1)*(1/0);i=i+Math.pow(2,r),s=s-d}return(A?-1:1)*i*Math.pow(2,s-r)},Vs.write=function(e,t,n,r,o,s){var i,f,c,d=s*8-o-1,a=(1<>1,b=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,A=r?0:s-1,P=r?1:-1,E=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(f=isNaN(t)?1:0,i=a):(i=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-i))<1&&(i--,c*=2),i+v>=1?t+=b/c:t+=b*Math.pow(2,1-v),t*c>=2&&(i++,c/=2),i+v>=a?(f=0,i=a):i+v>=1?(f=(t*c-1)*Math.pow(2,o),i=i+v):(f=t*Math.pow(2,v-1)*Math.pow(2,o),i=0));o>=8;e[n+A]=f&255,A+=P,f/=256,o-=8);for(i=i<0;e[n+A]=i&255,A+=P,i/=256,d-=8);e[n+A-P]|=E*128};(function(e){const t=Zr,n=Vs,r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=a,e.SlowBuffer=re,e.INSPECT_MAX_BYTES=50;const o=2147483647;e.kMaxLength=o;const{Uint8Array:s,ArrayBuffer:i,SharedArrayBuffer:f}=globalThis;a.TYPED_ARRAY_SUPPORT=c(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function c(){try{const u=new s(1),l={foo:function(){return 42}};return Object.setPrototypeOf(l,s.prototype),Object.setPrototypeOf(u,l),u.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function d(u){if(u>o)throw new RangeError('The value "'+u+'" is invalid for option "size"');const l=new s(u);return Object.setPrototypeOf(l,a.prototype),l}function a(u,l,p){if(typeof u=="number"){if(typeof l=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return P(u)}return v(u,l,p)}a.poolSize=8192;function v(u,l,p){if(typeof u=="string")return E(u,l);if(i.isView(u))return T(u);if(u==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof u);if(Z(u,i)||u&&Z(u.buffer,i)||typeof f<"u"&&(Z(u,f)||u&&Z(u.buffer,f)))return R(u,l,p);if(typeof u=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const m=u.valueOf&&u.valueOf();if(m!=null&&m!==u)return a.from(m,l,p);const w=z(u);if(w)return w;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof u[Symbol.toPrimitive]=="function")return a.from(u[Symbol.toPrimitive]("string"),l,p);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof u)}a.from=function(u,l,p){return v(u,l,p)},Object.setPrototypeOf(a.prototype,s.prototype),Object.setPrototypeOf(a,s);function b(u){if(typeof u!="number")throw new TypeError('"size" argument must be of type number');if(u<0)throw new RangeError('The value "'+u+'" is invalid for option "size"')}function A(u,l,p){return b(u),u<=0?d(u):l!==void 0?typeof p=="string"?d(u).fill(l,p):d(u).fill(l):d(u)}a.alloc=function(u,l,p){return A(u,l,p)};function P(u){return b(u),d(u<0?0:N(u)|0)}a.allocUnsafe=function(u){return P(u)},a.allocUnsafeSlow=function(u){return P(u)};function E(u,l){if((typeof l!="string"||l==="")&&(l="utf8"),!a.isEncoding(l))throw new TypeError("Unknown encoding: "+l);const p=ae(u,l)|0;let m=d(p);const w=m.write(u,l);return w!==p&&(m=m.slice(0,w)),m}function M(u){const l=u.length<0?0:N(u.length)|0,p=d(l);for(let m=0;m=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return u|0}function re(u){return+u!=u&&(u=0),a.alloc(+u)}a.isBuffer=function(u){return u!=null&&u._isBuffer===!0&&u!==a.prototype},a.compare=function(u,l){if(Z(u,s)&&(u=a.from(u,u.offset,u.byteLength)),Z(l,s)&&(l=a.from(l,l.offset,l.byteLength)),!a.isBuffer(u)||!a.isBuffer(l))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(u===l)return 0;let p=u.length,m=l.length;for(let w=0,S=Math.min(p,m);wm.length?(a.isBuffer(S)||(S=a.from(S)),S.copy(m,w)):s.prototype.set.call(m,S,w);else if(a.isBuffer(S))S.copy(m,w);else throw new TypeError('"list" argument must be an Array of Buffers');w+=S.length}return m};function ae(u,l){if(a.isBuffer(u))return u.length;if(i.isView(u)||Z(u,i))return u.byteLength;if(typeof u!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof u);const p=u.length,m=arguments.length>2&&arguments[2]===!0;if(!m&&p===0)return 0;let w=!1;for(;;)switch(l){case"ascii":case"latin1":case"binary":return p;case"utf8":case"utf-8":return B(u).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return p*2;case"hex":return p>>>1;case"base64":return V(u).length;default:if(w)return m?-1:B(u).length;l=(""+l).toLowerCase(),w=!0}}a.byteLength=ae;function Oe(u,l,p){let m=!1;if((l===void 0||l<0)&&(l=0),l>this.length||((p===void 0||p>this.length)&&(p=this.length),p<=0)||(p>>>=0,l>>>=0,p<=l))return"";for(u||(u="utf8");;)switch(u){case"hex":return je(this,l,p);case"utf8":case"utf-8":return le(this,l,p);case"ascii":return Ve(this,l,p);case"latin1":case"binary":return Re(this,l,p);case"base64":return K(this,l,p);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ft(this,l,p);default:if(m)throw new TypeError("Unknown encoding: "+u);u=(u+"").toLowerCase(),m=!0}}a.prototype._isBuffer=!0;function Ce(u,l,p){const m=u[l];u[l]=u[p],u[p]=m}a.prototype.swap16=function(){const u=this.length;if(u%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let l=0;ll&&(u+=" ... "),""},r&&(a.prototype[r]=a.prototype.inspect),a.prototype.compare=function(u,l,p,m,w){if(Z(u,s)&&(u=a.from(u,u.offset,u.byteLength)),!a.isBuffer(u))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof u);if(l===void 0&&(l=0),p===void 0&&(p=u?u.length:0),m===void 0&&(m=0),w===void 0&&(w=this.length),l<0||p>u.length||m<0||w>this.length)throw new RangeError("out of range index");if(m>=w&&l>=p)return 0;if(m>=w)return-1;if(l>=p)return 1;if(l>>>=0,p>>>=0,m>>>=0,w>>>=0,this===u)return 0;let S=w-m,F=p-l;const Ee=Math.min(S,F),Fe=this.slice(m,w),Se=u.slice(l,p);for(let ie=0;ie2147483647?p=2147483647:p<-2147483648&&(p=-2147483648),p=+p,fe(p)&&(p=w?0:u.length-1),p<0&&(p=u.length+p),p>=u.length){if(w)return-1;p=u.length-1}else if(p<0)if(w)p=0;else return-1;if(typeof l=="string"&&(l=a.from(l,m)),a.isBuffer(l))return l.length===0?-1:Q(u,l,p,m,w);if(typeof l=="number")return l=l&255,typeof s.prototype.indexOf=="function"?w?s.prototype.indexOf.call(u,l,p):s.prototype.lastIndexOf.call(u,l,p):Q(u,[l],p,m,w);throw new TypeError("val must be string, number or Buffer")}function Q(u,l,p,m,w){let S=1,F=u.length,Ee=l.length;if(m!==void 0&&(m=String(m).toLowerCase(),m==="ucs2"||m==="ucs-2"||m==="utf16le"||m==="utf-16le")){if(u.length<2||l.length<2)return-1;S=2,F/=2,Ee/=2,p/=2}function Fe(ie,De){return S===1?ie[De]:ie.readUInt16BE(De*S)}let Se;if(w){let ie=-1;for(Se=p;SeF&&(p=F-Ee),Se=p;Se>=0;Se--){let ie=!0;for(let De=0;Dew&&(m=w)):m=w;const S=l.length;m>S/2&&(m=S/2);let F;for(F=0;F>>0,isFinite(p)?(p=p>>>0,m===void 0&&(m="utf8")):(m=p,p=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const w=this.length-l;if((p===void 0||p>w)&&(p=w),u.length>0&&(p<0||l<0)||l>this.length)throw new RangeError("Attempt to write outside buffer bounds");m||(m="utf8");let S=!1;for(;;)switch(m){case"hex":return oe(this,u,l,p);case"utf8":case"utf-8":return H(this,u,l,p);case"ascii":case"latin1":case"binary":return ge(this,u,l,p);case"base64":return ve(this,u,l,p);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ae(this,u,l,p);default:if(S)throw new TypeError("Unknown encoding: "+m);m=(""+m).toLowerCase(),S=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function K(u,l,p){return l===0&&p===u.length?t.fromByteArray(u):t.fromByteArray(u.slice(l,p))}function le(u,l,p){p=Math.min(u.length,p);const m=[];let w=l;for(;w239?4:S>223?3:S>191?2:1;if(w+Ee<=p){let Fe,Se,ie,De;switch(Ee){case 1:S<128&&(F=S);break;case 2:Fe=u[w+1],(Fe&192)===128&&(De=(S&31)<<6|Fe&63,De>127&&(F=De));break;case 3:Fe=u[w+1],Se=u[w+2],(Fe&192)===128&&(Se&192)===128&&(De=(S&15)<<12|(Fe&63)<<6|Se&63,De>2047&&(De<55296||De>57343)&&(F=De));break;case 4:Fe=u[w+1],Se=u[w+2],ie=u[w+3],(Fe&192)===128&&(Se&192)===128&&(ie&192)===128&&(De=(S&15)<<18|(Fe&63)<<12|(Se&63)<<6|ie&63,De>65535&&De<1114112&&(F=De))}}F===null?(F=65533,Ee=1):F>65535&&(F-=65536,m.push(F>>>10&1023|55296),F=56320|F&1023),m.push(F),w+=Ee}return mt(m)}const $e=4096;function mt(u){const l=u.length;if(l<=$e)return String.fromCharCode.apply(String,u);let p="",m=0;for(;mm)&&(p=m);let w="";for(let S=l;Sp&&(u=p),l<0?(l+=p,l<0&&(l=0)):l>p&&(l=p),lp)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(u,l,p){u=u>>>0,l=l>>>0,p||Y(u,l,this.length);let m=this[u],w=1,S=0;for(;++S>>0,l=l>>>0,p||Y(u,l,this.length);let m=this[u+--l],w=1;for(;l>0&&(w*=256);)m+=this[u+--l]*w;return m},a.prototype.readUint8=a.prototype.readUInt8=function(u,l){return u=u>>>0,l||Y(u,1,this.length),this[u]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(u,l){return u=u>>>0,l||Y(u,2,this.length),this[u]|this[u+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(u,l){return u=u>>>0,l||Y(u,2,this.length),this[u]<<8|this[u+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(u,l){return u=u>>>0,l||Y(u,4,this.length),(this[u]|this[u+1]<<8|this[u+2]<<16)+this[u+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(u,l){return u=u>>>0,l||Y(u,4,this.length),this[u]*16777216+(this[u+1]<<16|this[u+2]<<8|this[u+3])},a.prototype.readBigUInt64LE=de(function(u){u=u>>>0,_(u,"offset");const l=this[u],p=this[u+7];(l===void 0||p===void 0)&&j(u,this.length-8);const m=l+this[++u]*2**8+this[++u]*2**16+this[++u]*2**24,w=this[++u]+this[++u]*2**8+this[++u]*2**16+p*2**24;return BigInt(m)+(BigInt(w)<>>0,_(u,"offset");const l=this[u],p=this[u+7];(l===void 0||p===void 0)&&j(u,this.length-8);const m=l*2**24+this[++u]*2**16+this[++u]*2**8+this[++u],w=this[++u]*2**24+this[++u]*2**16+this[++u]*2**8+p;return(BigInt(m)<>>0,l=l>>>0,p||Y(u,l,this.length);let m=this[u],w=1,S=0;for(;++S=w&&(m-=Math.pow(2,8*l)),m},a.prototype.readIntBE=function(u,l,p){u=u>>>0,l=l>>>0,p||Y(u,l,this.length);let m=l,w=1,S=this[u+--m];for(;m>0&&(w*=256);)S+=this[u+--m]*w;return w*=128,S>=w&&(S-=Math.pow(2,8*l)),S},a.prototype.readInt8=function(u,l){return u=u>>>0,l||Y(u,1,this.length),this[u]&128?(255-this[u]+1)*-1:this[u]},a.prototype.readInt16LE=function(u,l){u=u>>>0,l||Y(u,2,this.length);const p=this[u]|this[u+1]<<8;return p&32768?p|4294901760:p},a.prototype.readInt16BE=function(u,l){u=u>>>0,l||Y(u,2,this.length);const p=this[u+1]|this[u]<<8;return p&32768?p|4294901760:p},a.prototype.readInt32LE=function(u,l){return u=u>>>0,l||Y(u,4,this.length),this[u]|this[u+1]<<8|this[u+2]<<16|this[u+3]<<24},a.prototype.readInt32BE=function(u,l){return u=u>>>0,l||Y(u,4,this.length),this[u]<<24|this[u+1]<<16|this[u+2]<<8|this[u+3]},a.prototype.readBigInt64LE=de(function(u){u=u>>>0,_(u,"offset");const l=this[u],p=this[u+7];(l===void 0||p===void 0)&&j(u,this.length-8);const m=this[u+4]+this[u+5]*2**8+this[u+6]*2**16+(p<<24);return(BigInt(m)<>>0,_(u,"offset");const l=this[u],p=this[u+7];(l===void 0||p===void 0)&&j(u,this.length-8);const m=(l<<24)+this[++u]*2**16+this[++u]*2**8+this[++u];return(BigInt(m)<>>0,l||Y(u,4,this.length),n.read(this,u,!0,23,4)},a.prototype.readFloatBE=function(u,l){return u=u>>>0,l||Y(u,4,this.length),n.read(this,u,!1,23,4)},a.prototype.readDoubleLE=function(u,l){return u=u>>>0,l||Y(u,8,this.length),n.read(this,u,!0,52,8)},a.prototype.readDoubleBE=function(u,l){return u=u>>>0,l||Y(u,8,this.length),n.read(this,u,!1,52,8)};function xe(u,l,p,m,w,S){if(!a.isBuffer(u))throw new TypeError('"buffer" argument must be a Buffer instance');if(l>w||lu.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(u,l,p,m){if(u=+u,l=l>>>0,p=p>>>0,!m){const F=Math.pow(2,8*p)-1;xe(this,u,l,p,F,0)}let w=1,S=0;for(this[l]=u&255;++S>>0,p=p>>>0,!m){const F=Math.pow(2,8*p)-1;xe(this,u,l,p,F,0)}let w=p-1,S=1;for(this[l+w]=u&255;--w>=0&&(S*=256);)this[l+w]=u/S&255;return l+p},a.prototype.writeUint8=a.prototype.writeUInt8=function(u,l,p){return u=+u,l=l>>>0,p||xe(this,u,l,1,255,0),this[l]=u&255,l+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(u,l,p){return u=+u,l=l>>>0,p||xe(this,u,l,2,65535,0),this[l]=u&255,this[l+1]=u>>>8,l+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(u,l,p){return u=+u,l=l>>>0,p||xe(this,u,l,2,65535,0),this[l]=u>>>8,this[l+1]=u&255,l+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(u,l,p){return u=+u,l=l>>>0,p||xe(this,u,l,4,4294967295,0),this[l+3]=u>>>24,this[l+2]=u>>>16,this[l+1]=u>>>8,this[l]=u&255,l+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(u,l,p){return u=+u,l=l>>>0,p||xe(this,u,l,4,4294967295,0),this[l]=u>>>24,this[l+1]=u>>>16,this[l+2]=u>>>8,this[l+3]=u&255,l+4};function pe(u,l,p,m,w){D(l,m,w,u,p,7);let S=Number(l&BigInt(4294967295));u[p++]=S,S=S>>8,u[p++]=S,S=S>>8,u[p++]=S,S=S>>8,u[p++]=S;let F=Number(l>>BigInt(32)&BigInt(4294967295));return u[p++]=F,F=F>>8,u[p++]=F,F=F>>8,u[p++]=F,F=F>>8,u[p++]=F,p}function ft(u,l,p,m,w){D(l,m,w,u,p,7);let S=Number(l&BigInt(4294967295));u[p+7]=S,S=S>>8,u[p+6]=S,S=S>>8,u[p+5]=S,S=S>>8,u[p+4]=S;let F=Number(l>>BigInt(32)&BigInt(4294967295));return u[p+3]=F,F=F>>8,u[p+2]=F,F=F>>8,u[p+1]=F,F=F>>8,u[p]=F,p+8}a.prototype.writeBigUInt64LE=de(function(u,l=0){return pe(this,u,l,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=de(function(u,l=0){return ft(this,u,l,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(u,l,p,m){if(u=+u,l=l>>>0,!m){const Ee=Math.pow(2,8*p-1);xe(this,u,l,p,Ee-1,-Ee)}let w=0,S=1,F=0;for(this[l]=u&255;++w>0)-F&255;return l+p},a.prototype.writeIntBE=function(u,l,p,m){if(u=+u,l=l>>>0,!m){const Ee=Math.pow(2,8*p-1);xe(this,u,l,p,Ee-1,-Ee)}let w=p-1,S=1,F=0;for(this[l+w]=u&255;--w>=0&&(S*=256);)u<0&&F===0&&this[l+w+1]!==0&&(F=1),this[l+w]=(u/S>>0)-F&255;return l+p},a.prototype.writeInt8=function(u,l,p){return u=+u,l=l>>>0,p||xe(this,u,l,1,127,-128),u<0&&(u=255+u+1),this[l]=u&255,l+1},a.prototype.writeInt16LE=function(u,l,p){return u=+u,l=l>>>0,p||xe(this,u,l,2,32767,-32768),this[l]=u&255,this[l+1]=u>>>8,l+2},a.prototype.writeInt16BE=function(u,l,p){return u=+u,l=l>>>0,p||xe(this,u,l,2,32767,-32768),this[l]=u>>>8,this[l+1]=u&255,l+2},a.prototype.writeInt32LE=function(u,l,p){return u=+u,l=l>>>0,p||xe(this,u,l,4,2147483647,-2147483648),this[l]=u&255,this[l+1]=u>>>8,this[l+2]=u>>>16,this[l+3]=u>>>24,l+4},a.prototype.writeInt32BE=function(u,l,p){return u=+u,l=l>>>0,p||xe(this,u,l,4,2147483647,-2147483648),u<0&&(u=4294967295+u+1),this[l]=u>>>24,this[l+1]=u>>>16,this[l+2]=u>>>8,this[l+3]=u&255,l+4},a.prototype.writeBigInt64LE=de(function(u,l=0){return pe(this,u,l,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=de(function(u,l=0){return ft(this,u,l,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ue(u,l,p,m,w,S){if(p+m>u.length)throw new RangeError("Index out of range");if(p<0)throw new RangeError("Index out of range")}function Et(u,l,p,m,w){return l=+l,p=p>>>0,w||ue(u,l,p,4),n.write(u,l,p,m,23,4),p+4}a.prototype.writeFloatLE=function(u,l,p){return Et(this,u,l,!0,p)},a.prototype.writeFloatBE=function(u,l,p){return Et(this,u,l,!1,p)};function se(u,l,p,m,w){return l=+l,p=p>>>0,w||ue(u,l,p,8),n.write(u,l,p,m,52,8),p+8}a.prototype.writeDoubleLE=function(u,l,p){return se(this,u,l,!0,p)},a.prototype.writeDoubleBE=function(u,l,p){return se(this,u,l,!1,p)},a.prototype.copy=function(u,l,p,m){if(!a.isBuffer(u))throw new TypeError("argument should be a Buffer");if(p||(p=0),!m&&m!==0&&(m=this.length),l>=u.length&&(l=u.length),l||(l=0),m>0&&m=this.length)throw new RangeError("Index out of range");if(m<0)throw new RangeError("sourceEnd out of bounds");m>this.length&&(m=this.length),u.length-l>>0,p=p===void 0?this.length:p>>>0,u||(u=0);let w;if(typeof u=="number")for(w=l;w2**32?w=x(String(p)):typeof p=="bigint"&&(w=String(p),(p>BigInt(2)**BigInt(32)||p<-(BigInt(2)**BigInt(32)))&&(w=x(w)),w+="n"),m+=` It must be ${l}. Received ${w}`,m},RangeError);function x(u){let l="",p=u.length;const m=u[0]==="-"?1:0;for(;p>=m+4;p-=3)l=`_${u.slice(p-3,p)}${l}`;return`${u.slice(0,p)}${l}`}function O(u,l,p){_(l,"offset"),(u[l]===void 0||u[l+p]===void 0)&&j(l,u.length-(p+1))}function D(u,l,p,m,w,S){if(u>p||u= 0${F} and < 2${F} ** ${(S+1)*8}${F}`:Ee=`>= -(2${F} ** ${(S+1)*8-1}${F}) and < 2 ** ${(S+1)*8-1}${F}`,new g.ERR_OUT_OF_RANGE("value",Ee,u)}O(m,w,S)}function _(u,l){if(typeof u!="number")throw new g.ERR_INVALID_ARG_TYPE(l,"number",u)}function j(u,l,p){throw Math.floor(u)!==u?(_(u,p),new g.ERR_OUT_OF_RANGE("offset","an integer",u)):l<0?new g.ERR_BUFFER_OUT_OF_BOUNDS:new g.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${l}`,u)}const L=/[^+/0-9A-Za-z-_]/g;function I(u){if(u=u.split("=")[0],u=u.trim().replace(L,""),u.length<2)return"";for(;u.length%4!==0;)u=u+"=";return u}function B(u,l){l=l||1/0;let p;const m=u.length;let w=null;const S=[];for(let F=0;F55295&&p<57344){if(!w){if(p>56319){(l-=3)>-1&&S.push(239,191,189);continue}else if(F+1===m){(l-=3)>-1&&S.push(239,191,189);continue}w=p;continue}if(p<56320){(l-=3)>-1&&S.push(239,191,189),w=p;continue}p=(w-55296<<10|p-56320)+65536}else w&&(l-=3)>-1&&S.push(239,191,189);if(w=null,p<128){if((l-=1)<0)break;S.push(p)}else if(p<2048){if((l-=2)<0)break;S.push(p>>6|192,p&63|128)}else if(p<65536){if((l-=3)<0)break;S.push(p>>12|224,p>>6&63|128,p&63|128)}else if(p<1114112){if((l-=4)<0)break;S.push(p>>18|240,p>>12&63|128,p>>6&63|128,p&63|128)}else throw new Error("Invalid code point")}return S}function q(u){const l=[];for(let p=0;p>8,w=p%256,S.push(w),S.push(m);return S}function V(u){return t.toByteArray(I(u))}function W(u,l,p,m){let w;for(w=0;w=l.length||w>=u.length);++w)l[w+p]=u[w];return w}function Z(u,l){return u instanceof l||u!=null&&u.constructor!=null&&u.constructor.name!=null&&u.constructor.name===l.name}function fe(u){return u!==u}const me=(function(){const u="0123456789abcdef",l=new Array(256);for(let p=0;p<16;++p){const m=p*16;for(let w=0;w<16;++w)l[m+w]=u[p]+u[w]}return l})();function de(u){return typeof BigInt>"u"?ke:u}function ke(){throw new Error("BigInt not supported")}})(Zl);const Yr=Zl.Buffer,[Ad]=window.OC?.config?.version?.split(".")??[],Ql=Number.parseInt(Ad??"34"),Gs=Ql<32,xd=Ql<34,Sd=Symbol.for("NcFormBox:context");function _d(){return An(Sd,{isInFormBox:!1,formBoxItemClass:void 0})}const wu=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},Dd={class:"button-vue__wrapper"},Bd={class:"button-vue__icon"},Td={class:"button-vue__text"},Od=Bo({__name:"NcButton",props:{alignment:{default:"center"},ariaLabel:{default:void 0},disabled:{type:Boolean},download:{type:[String,Boolean],default:void 0},href:{default:void 0},pressed:{type:Boolean,default:void 0},size:{default:"normal"},target:{default:"_self"},text:{default:void 0},to:{default:void 0},type:{default:"button"},variant:{default:"secondary"},wide:{type:Boolean}},emits:["click","update:pressed"],setup(e,{emit:t}){const n=e,r=t,{formBoxItemClass:o}=_d(),s=An(hd,null)!==null,i=Ye(()=>s&&n.to?"RouterLink":n.href?"a":"button"),f=Ye(()=>i.value==="button"&&typeof n.pressed=="boolean"),c=Ye(()=>n.pressed?"primary":n.pressed===!1&&n.variant==="primary"?"secondary":n.variant),d=Ye(()=>c.value.startsWith("tertiary")),a=Ye(()=>n.alignment.split("-")[0]),v=Ye(()=>n.alignment.includes("-")),b=An("NcPopover:trigger:attrs",()=>({}),!1),A=Ye(()=>b()),P=Ye(()=>{if(i.value==="RouterLink")return{to:n.to,activeClass:"active"};if(i.value==="a")return{href:n.href||"#",target:n.target,rel:"nofollow noreferrer noopener",download:n.download||void 0};if(i.value==="button")return{...A.value,"aria-pressed":n.pressed,type:n.type,disabled:n.disabled}});function E(M){f.value&&r("update:pressed",!n.pressed),r("click",M)}return(M,T)=>(He(),xt(Af(i.value),No({class:["button-vue",[`button-vue--size-${e.size}`,{[`button-vue--${c.value}`]:c.value,"button-vue--tertiary":d.value,"button-vue--wide":e.wide,[`button-vue--${a.value}`]:a.value!=="center","button-vue--reverse":v.value,"button-vue--legacy":it(Gs),"button-vue--legacy34":it(xd)},it(o)]],"aria-label":e.ariaLabel},P.value,{onClick:E}),{default:Xn(()=>[Qt("span",Dd,[Qt("span",Bd,[xr(M.$slots,"icon",{},void 0,!0)]),Qt("span",Td,[xr(M.$slots,"default",{},()=>[Eu(ro(e.text),1)],!0)])])]),_:3},16,["class","aria-label"]))}}),Rd=wu(Od,[["__scopeId","data-v-18f6cf03"]]);var yg="M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z",Ji="M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z",bg="M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12M13,17H11V15H13V17M13,13H11V7H13V13Z",kd="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z",Zi="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z",wg="M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z",Nd="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z",Cg="M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z",Ag="M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z",xg="M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z",Fd="M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z";const Ld=["aria-hidden","aria-label"],Pd={key:0,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Id=["d"],jd=["innerHTML"],Ud=Bo({__name:"NcIconSvgWrapper",props:{directional:{type:Boolean},inline:{type:Boolean},svg:{default:""},name:{default:void 0},path:{default:""},size:{default:20}},setup(e){Cp(o=>({fb515064:n.value}));const t=e,n=Ye(()=>typeof t.size=="number"?`${t.size}px`:t.size),r=Ye(()=>{if(!t.svg||t.path)return;const o=wa.sanitize(t.svg),s=new DOMParser().parseFromString(o,"image/svg+xml");return s.querySelector("parsererror")?"":(s.documentElement.id&&s.documentElement.removeAttribute("id"),s.documentElement.outerHTML)});return(o,s)=>(He(),En("span",{"aria-hidden":e.name?void 0:"true","aria-label":e.name||void 0,class:Jn(["icon-vue",{"icon-vue--directional":e.directional,"icon-vue--inline":e.inline}]),role:"img"},[r.value?(He(),En("span",{key:1,innerHTML:r.value},null,8,jd)):(He(),En("svg",Pd,[Qt("path",{d:e.path},null,8,Id)]))],10,Ld))}}),zn=wu(Ud,[["__scopeId","data-v-aaedb1c3"]]);class Md{bundle;constructor(t){this.bundle={pluralFunction:t,translations:{}}}addTranslations(t){const n=Object.values(t.translations[""]??{}).map(({msgid:r,msgid_plural:o,msgstr:s})=>o!==void 0?[`_${r}_::_${o}_`,s]:[r,s[0]]);this.bundle.translations={...this.bundle.translations,...Object.fromEntries(n)}}gettext(t,n={}){return Vr("",t,n,void 0,{bundle:this.bundle})}ngettext(t,n,r,o={}){return l0("",t,n,r,o,{bundle:this.bundle})}}class zd{debug=!1;language="en";translations={};setLanguage(t){return this.language=t,this}detectLocale(){return this.detectLanguage()}detectLanguage(){return this.setLanguage(Ys().replace("-","_"))}addTranslation(t,n){return this.translations[t]=n,this}enableDebugMode(){return this.debug=!0,this}build(){this.debug&&console.debug(`Creating gettext instance for language ${this.language}`);const t=new Md(n=>c0(n,this.language));return this.language in this.translations&&t.addTranslations(this.translations[this.language]),t}}function $d(){return new zd}const Cu=$d().detectLanguage().build(),Sg=(...e)=>Cu.ngettext(...e),ys=(...e)=>Cu.gettext(...e);function Hd(...e){for(const t of e)if(!t.registered){for(const{l:n,t:r}of t){if(n!==Ys()||!r)continue;const o=Object.fromEntries(Object.entries(r).map(([s,i])=>[s,{msgid:s,msgid_plural:i.p,msgstr:i.v}]));Cu.addTranslations({translations:{"":o}})}t.registered=!0}}const _g=[{l:"ar",t:{"a few seconds ago":{v:["منذ عدة ثوانٍ"]},"sec. ago":{v:["ثانية مضت"]},"seconds ago":{v:["ثوانٍ مضت"]}}},{l:"ast",t:{"a few seconds ago":{v:["hai unos segundos"]},"sec. ago":{v:["hai segs"]},"seconds ago":{v:["hai segundos"]}}},{l:"br",t:{}},{l:"ca",t:{}},{l:"cs",t:{"a few seconds ago":{v:["před několika sekundami"]},"sec. ago":{v:["sek. před"]},"seconds ago":{v:["sekund předtím"]}}},{l:"cs-CZ",t:{"a few seconds ago":{v:["před několika sekundami"]},"sec. ago":{v:["sek. před"]},"seconds ago":{v:["sekund předtím"]}}},{l:"da",t:{"a few seconds ago":{v:["et par sekunder siden"]},"sec. ago":{v:["sek. siden"]},"seconds ago":{v:["sekunder siden"]}}},{l:"de",t:{"a few seconds ago":{v:["vor ein paar Sekunden"]},"sec. ago":{v:["Sek. zuvor"]},"seconds ago":{v:["Sekunden zuvor"]}}},{l:"de-DE",t:{"a few seconds ago":{v:["vor ein paar Sekunden"]},"sec. ago":{v:["Sek. zuvor"]},"seconds ago":{v:["Sekunden zuvor"]}}},{l:"el",t:{"a few seconds ago":{v:["πριν λίγα δευτερόλεπτα"]},"sec. ago":{v:["δευτ. πριν"]},"seconds ago":{v:["δευτερόλεπτα πριν"]}}},{l:"en-GB",t:{"a few seconds ago":{v:["a few seconds ago"]},"sec. ago":{v:["sec. ago"]},"seconds ago":{v:["seconds ago"]}}},{l:"eo",t:{}},{l:"es",t:{"a few seconds ago":{v:["hace unos pocos segundos"]},"sec. ago":{v:["hace segundos"]},"seconds ago":{v:["segundos atrás"]}}},{l:"es-AR",t:{"a few seconds ago":{v:["hace unos segundos"]},"sec. ago":{v:["seg. atrás"]},"seconds ago":{v:["segundos atrás"]}}},{l:"es-EC",t:{"a few seconds ago":{v:["hace unos segundos"]},"sec. ago":{v:["hace segundos"]},"seconds ago":{v:["Segundos atrás"]}}},{l:"es-MX",t:{"a few seconds ago":{v:["hace unos segundos"]},"sec. ago":{v:["seg. atrás"]},"seconds ago":{v:["segundos atrás"]}}},{l:"et-EE",t:{"a few seconds ago":{v:["mõni sekund tagasi"]},"sec. ago":{v:["sek. tagasi"]},"seconds ago":{v:["sekundit tagasi"]}}},{l:"eu",t:{"a few seconds ago":{v:["duela segundo batzuk"]},"sec. ago":{v:["duela seg."]},"seconds ago":{v:["duela segundo"]}}},{l:"fa",t:{"a few seconds ago":{v:["چند ثانیه پیش"]},"sec. ago":{v:["چند ثانیه پیش"]},"seconds ago":{v:["چند ثانیه پیش"]}}},{l:"fi",t:{"a few seconds ago":{v:["muutamia sekunteja sitten"]},"sec. ago":{v:["sek. sitten"]},"seconds ago":{v:["sekunteja sitten"]}}},{l:"fr",t:{"a few seconds ago":{v:["il y a quelques instants"]},"sec. ago":{v:["il y a qq. sec."]},"seconds ago":{v:["il y a quelques secondes"]}}},{l:"ga",t:{"a few seconds ago":{v:["cúpla soicind ó shin"]},"sec. ago":{v:["soic. ó shin"]},"seconds ago":{v:["soicind ó shin"]}}},{l:"gl",t:{"a few seconds ago":{v:["hai uns segundos"]},"sec. ago":{v:["segs. atrás"]},"seconds ago":{v:["segundos atrás"]}}},{l:"he",t:{"a few seconds ago":{v:["לפני מספר שניות"]},"sec. ago":{v:["לפני מספר שניות"]},"seconds ago":{v:["לפני מס׳ שניות"]}}},{l:"hr",t:{"a few seconds ago":{v:["prije nekoliko sekundi"]},"sec. ago":{v:["prije nek. sek."]},"seconds ago":{v:["prije nek. sek."]}}},{l:"hu",t:{"a few seconds ago":{v:["néhány másodperce"]},"sec. ago":{v:["másodperce"]},"seconds ago":{v:["másodperce"]}}},{l:"id",t:{"a few seconds ago":{v:["beberapa detik yang lalu"]},"sec. ago":{v:["dtk. yang lalu"]},"seconds ago":{v:["beberapa detik lalu"]}}},{l:"is",t:{"a few seconds ago":{v:["fyrir örfáum sekúndum síðan"]},"sec. ago":{v:["sek. síðan"]},"seconds ago":{v:["sekúndum síðan"]}}},{l:"it",t:{"a few seconds ago":{v:["pochi secondi fa"]},"sec. ago":{v:["sec. fa"]},"seconds ago":{v:["secondi fa"]}}},{l:"ja",t:{"a few seconds ago":{v:["数秒前"]},"sec. ago":{v:["秒前"]},"seconds ago":{v:["数秒前"]}}},{l:"ja-JP",t:{"a few seconds ago":{v:["数秒前"]},"sec. ago":{v:["秒前"]},"seconds ago":{v:["数秒前"]}}},{l:"ko",t:{"a few seconds ago":{v:["방금 전"]},"sec. ago":{v:["몇 초 전"]},"seconds ago":{v:["초 전"]}}},{l:"lo",t:{"a few seconds ago":{v:["ສອງສາມວິນາທີກ່ອນ"]},"sec. ago":{v:["ວິ. ກ່ອນ"]},"seconds ago":{v:["ວິນາທີກ່ອນ"]}}},{l:"lt-LT",t:{"a few seconds ago":{v:["prieš keletą sekundžių"]},"sec. ago":{v:["prieš sek."]},"seconds ago":{v:["prieš sekundes"]}}},{l:"lv",t:{}},{l:"mk",t:{"a few seconds ago":{v:["пред неколку секунди"]},"sec. ago":{v:["секунда"]},"seconds ago":{v:["секунди"]}}},{l:"mn",t:{"a few seconds ago":{v:["хэдхэн секундын өмнө"]},"sec. ago":{v:["сек. өмнө"]},"seconds ago":{v:["секундын өмнө"]}}},{l:"my",t:{}},{l:"nb",t:{"a few seconds ago":{v:["noen få sekunder siden"]},"sec. ago":{v:["sek. siden"]},"seconds ago":{v:["sekunder siden"]}}},{l:"nl",t:{"a few seconds ago":{v:["enkele seconden geleden"]},"sec. ago":{v:["sec. geleden"]},"seconds ago":{v:["seconden geleden"]}}},{l:"oc",t:{}},{l:"pl",t:{"a few seconds ago":{v:["kilka sekund temu"]},"sec. ago":{v:["sek. temu"]},"seconds ago":{v:["sekund temu"]}}},{l:"pt-BR",t:{"a few seconds ago":{v:["há alguns segundos"]},"sec. ago":{v:["seg. atrás"]},"seconds ago":{v:["segundos atrás"]}}},{l:"pt-PT",t:{"a few seconds ago":{v:["há alguns segundos"]},"sec. ago":{v:["seg. atrás"]},"seconds ago":{v:["segundos atrás"]}}},{l:"ro",t:{"a few seconds ago":{v:["acum câteva secunde"]},"sec. ago":{v:["sec. în urmă"]},"seconds ago":{v:["secunde în urmă"]}}},{l:"ru",t:{"a few seconds ago":{v:["несколько секунд назад"]},"sec. ago":{v:["сек. назад"]},"seconds ago":{v:["секунд назад"]}}},{l:"sk",t:{"a few seconds ago":{v:["pred chvíľou"]},"sec. ago":{v:["pred pár sekundami"]},"seconds ago":{v:["pred sekundami"]}}},{l:"sl",t:{}},{l:"sr",t:{"a few seconds ago":{v:["пре неколико секунди"]},"sec. ago":{v:["сек. раније"]},"seconds ago":{v:["секунди раније"]}}},{l:"sv",t:{"a few seconds ago":{v:["några sekunder sedan"]},"sec. ago":{v:["sek. sedan"]},"seconds ago":{v:["sekunder sedan"]}}},{l:"tr",t:{"a few seconds ago":{v:["birkaç saniye önce"]},"sec. ago":{v:["sn. önce"]},"seconds ago":{v:["saniye önce"]}}},{l:"uk",t:{"a few seconds ago":{v:["декілька секунд тому"]},"sec. ago":{v:["с тому"]},"seconds ago":{v:["с тому"]}}},{l:"uz",t:{"a few seconds ago":{v:["bir necha soniya oldin"]},"sec. ago":{v:["sek. oldin"]},"seconds ago":{v:["soniyalar oldin"]}}},{l:"zh-CN",t:{"a few seconds ago":{v:["几秒前"]},"sec. ago":{v:["几秒前"]},"seconds ago":{v:["几秒前"]}}},{l:"zh-HK",t:{"a few seconds ago":{v:["幾秒前"]},"sec. ago":{v:["秒前"]},"seconds ago":{v:["秒前"]}}},{l:"zh-TW",t:{"a few seconds ago":{v:["幾秒前"]},"sec. ago":{v:["秒前"]},"seconds ago":{v:["秒前"]}}}],Dg=[{l:"ar",t:{Actions:{v:["إجراءات"]}}},{l:"ast",t:{Actions:{v:["Aiciones"]}}},{l:"br",t:{Actions:{v:["Oberioù"]}}},{l:"ca",t:{Actions:{v:["Accions"]}}},{l:"cs",t:{Actions:{v:["Akce"]}}},{l:"cs-CZ",t:{Actions:{v:["Akce"]}}},{l:"da",t:{Actions:{v:["Handlinger"]}}},{l:"de",t:{Actions:{v:["Aktionen"]}}},{l:"de-DE",t:{Actions:{v:["Aktionen"]}}},{l:"el",t:{Actions:{v:["Ενέργειες"]}}},{l:"en-GB",t:{Actions:{v:["Actions"]}}},{l:"eo",t:{Actions:{v:["Agoj"]}}},{l:"es",t:{Actions:{v:["Acciones"]}}},{l:"es-AR",t:{Actions:{v:["Acciones"]}}},{l:"es-EC",t:{Actions:{v:["Acciones"]}}},{l:"es-MX",t:{Actions:{v:["Acciones"]}}},{l:"et-EE",t:{Actions:{v:["Tegevus"]}}},{l:"eu",t:{Actions:{v:["Ekintzak"]}}},{l:"fa",t:{Actions:{v:["کنش‌ها"]}}},{l:"fi",t:{Actions:{v:["Toiminnot"]}}},{l:"fr",t:{Actions:{v:["Actions"]}}},{l:"ga",t:{Actions:{v:["Gníomhartha"]}}},{l:"gl",t:{Actions:{v:["Accións"]}}},{l:"he",t:{Actions:{v:["פעולות"]}}},{l:"hr",t:{Actions:{v:["Radnje"]}}},{l:"hu",t:{Actions:{v:["Műveletek"]}}},{l:"id",t:{Actions:{v:["Tindakan"]}}},{l:"is",t:{Actions:{v:["Aðgerðir"]}}},{l:"it",t:{Actions:{v:["Azioni"]}}},{l:"ja",t:{Actions:{v:["操作"]}}},{l:"ja-JP",t:{Actions:{v:["操作"]}}},{l:"ko",t:{Actions:{v:["동작"]}}},{l:"lo",t:{Actions:{v:["ການກະທຳ"]}}},{l:"lt-LT",t:{Actions:{v:["Veiksmai"]}}},{l:"lv",t:{}},{l:"mk",t:{Actions:{v:["Акции"]}}},{l:"mn",t:{Actions:{v:["Үйлдлүүд"]}}},{l:"my",t:{Actions:{v:["လုပ်ဆောင်ချက်များ"]}}},{l:"nb",t:{Actions:{v:["Handlinger"]}}},{l:"nl",t:{Actions:{v:["Acties"]}}},{l:"oc",t:{Actions:{v:["Accions"]}}},{l:"pl",t:{Actions:{v:["Działania"]}}},{l:"pt-BR",t:{Actions:{v:["Ações"]}}},{l:"pt-PT",t:{Actions:{v:["Ações"]}}},{l:"ro",t:{Actions:{v:["Acțiuni"]}}},{l:"ru",t:{Actions:{v:["Действия "]}}},{l:"sk",t:{Actions:{v:["Akcie"]}}},{l:"sl",t:{Actions:{v:["Dejanja"]}}},{l:"sr",t:{Actions:{v:["Радње"]}}},{l:"sv",t:{Actions:{v:["Åtgärder"]}}},{l:"tr",t:{Actions:{v:["İşlemler"]}}},{l:"uk",t:{Actions:{v:["Дії"]}}},{l:"uz",t:{Actions:{v:["Harakatlar"]}}},{l:"zh-CN",t:{Actions:{v:["行为"]}}},{l:"zh-HK",t:{Actions:{v:["動作"]}}},{l:"zh-TW",t:{Actions:{v:["動作"]}}}],Bg=[{l:"ar",t:{"Clear selected":{v:["محو المحدّد"]},"Deselect {option}":{v:["إلغاء تحديد {option}"]},"No results":{v:["ليس هناك أية نتيجة"]},Options:{v:["خيارات"]}}},{l:"ast",t:{"Clear selected":{v:["Borrar lo seleicionao"]},"Deselect {option}":{v:["Deseleicionar «{option}»"]},"No results":{v:["Nun hai nengún resultáu"]},Options:{v:["Opciones"]}}},{l:"br",t:{"No results":{v:["Disoc'h ebet"]}}},{l:"ca",t:{"No results":{v:["Sense resultats"]}}},{l:"cs",t:{"Clear selected":{v:["Vyčistit vybrané"]},"Deselect {option}":{v:["Zrušit výběr {option}"]},"No results":{v:["Nic nenalezeno"]},Options:{v:["Možnosti"]}}},{l:"cs-CZ",t:{"Clear selected":{v:["Vyčistit vybrané"]},"Deselect {option}":{v:["Zrušit výběr {option}"]},"No results":{v:["Nic nenalezeno"]},Options:{v:["Možnosti"]}}},{l:"da",t:{"Clear selected":{v:["Ryd valgt"]},"Deselect {option}":{v:["Fravælg {option}"]},"No results":{v:["Ingen resultater"]},Options:{v:["Indstillinger"]}}},{l:"de",t:{"Clear selected":{v:["Auswahl leeren"]},"Deselect {option}":{v:["{option} abwählen"]},"No results":{v:["Keine Ergebnisse"]},Options:{v:["Optionen"]}}},{l:"de-DE",t:{"Clear selected":{v:["Auswahl leeren"]},"Deselect {option}":{v:["{option} abwählen"]},"No results":{v:["Keine Ergebnisse"]},Options:{v:["Optionen"]}}},{l:"el",t:{"Clear selected":{v:["Εκκαθάριση επιλογής"]},"Deselect {option}":{v:["Αποεπιλογή {option}"]},"No results":{v:["Κανένα αποτέλεσμα"]},Options:{v:["Επιλογές"]}}},{l:"en-GB",t:{"Clear selected":{v:["Clear selected"]},"Deselect {option}":{v:["Deselect {option}"]},"No results":{v:["No results"]},Options:{v:["Options"]}}},{l:"eo",t:{"No results":{v:["La rezulto forestas"]}}},{l:"es",t:{"Clear selected":{v:["Limpiar selección"]},"Deselect {option}":{v:["Deseleccionar {option}"]},"No results":{v:[" Ningún resultado"]},Options:{v:["Opciones"]}}},{l:"es-AR",t:{"Clear selected":{v:["Limpiar selección"]},"Deselect {option}":{v:["Deseleccionar {option}"]},"No results":{v:["Sin resultados"]},Options:{v:["Opciones"]}}},{l:"es-EC",t:{"No results":{v:["Sin resultados"]}}},{l:"es-MX",t:{"Clear selected":{v:["Limpiar selección"]},"Deselect {option}":{v:["Deseleccionar {option}"]},"No results":{v:["Sin resultados"]},Options:{v:["Opciones"]}}},{l:"et-EE",t:{"Clear selected":{v:["Tühjenda valik"]},"Deselect {option}":{v:["Eemalda {option} valik"]},"No results":{v:["Tulemusi pole"]},Options:{v:["Valikud"]}}},{l:"eu",t:{"No results":{v:["Emaitzarik ez"]}}},{l:"fa",t:{"Clear selected":{v:["پاک کردن مورد انتخاب شده"]},"Deselect {option}":{v:["لغو انتخاب {option}"]},"No results":{v:["بدون هیچ نتیجه‌ای"]},Options:{v:["گزینه‌ها"]}}},{l:"fi",t:{"Clear selected":{v:["Tyhjennä valitut"]},"Deselect {option}":{v:["Poista valinta {option}"]},"No results":{v:["Ei tuloksia"]},Options:{v:["Valinnat"]}}},{l:"fr",t:{"Clear selected":{v:["Vider la sélection"]},"Deselect {option}":{v:["Désélectionner {option}"]},"No results":{v:["Aucun résultat"]},Options:{v:["Options"]}}},{l:"ga",t:{"Clear selected":{v:["Glan roghnaithe"]},"Deselect {option}":{v:["Díroghnaigh {option}"]},"No results":{v:["Gan torthaí"]},Options:{v:["Roghanna"]}}},{l:"gl",t:{"Clear selected":{v:["Limpar o seleccionado"]},"Deselect {option}":{v:["Desmarcar {option}"]},"No results":{v:["Sen resultados"]},Options:{v:["Opcións"]}}},{l:"he",t:{"No results":{v:["אין תוצאות"]}}},{l:"hr",t:{"Clear selected":{v:["Očisti odabir"]},"Deselect {option}":{v:["Odznači {option}"]},"No results":{v:["Nema rezultata"]},Options:{v:["Mogućnosti"]}}},{l:"hu",t:{"Clear selected":{v:["Kijelölés törlése"]},"Deselect {option}":{v:["{option} kijelölésének megszüntetése"]},"No results":{v:["Nincs találat"]},Options:{v:["Beállítások"]}}},{l:"id",t:{"Clear selected":{v:["Hapus terpilih"]},"Deselect {option}":{v:["Batalkan pemilihan {option}"]},"No results":{v:["Tidak ada hasil"]},Options:{v:["Opsi"]}}},{l:"is",t:{"Clear selected":{v:["Hreinsa valið"]},"Deselect {option}":{v:["Afvelja {option}"]},"No results":{v:["Engar niðurstöður"]},Options:{v:["Valkostir"]}}},{l:"it",t:{"Clear selected":{v:["Cancella selezionati"]},"Deselect {option}":{v:["Deselezionare {option}"]},"No results":{v:["Nessun risultato"]}}},{l:"ja",t:{"Clear selected":{v:["選択を解除"]},"Deselect {option}":{v:["{option} の選択を解除"]},"No results":{v:["結果無し"]},Options:{v:["オプション"]}}},{l:"ja-JP",t:{"Clear selected":{v:["選択を解除"]},"Deselect {option}":{v:["{option} の選択を解除"]},"No results":{v:["結果無し"]},Options:{v:["オプション"]}}},{l:"ko",t:{"Clear selected":{v:["선택 항목 지우기"]},"Deselect {option}":{v:["{option} 선택 해제"]},"No results":{v:["결과 없음"]},Options:{v:["옵션"]}}},{l:"lo",t:{"Clear selected":{v:["ລຶບສິ່ງທີ່ເລືອກ"]},"Deselect {option}":{v:["ຍົກເລີກການເລືອກ {option}"]},"No results":{v:["ບໍ່ມີຜົນລັບ"]},Options:{v:["ຕົວເລືອກ"]}}},{l:"lt-LT",t:{"Clear selected":{v:["Išvalyti pasirinkimą"]},"Deselect {option}":{v:["Panaikinkite {option} pasirinkimą"]},"No results":{v:["Nėra rezultatų"]},Options:{v:["Parinktys"]}}},{l:"lv",t:{"No results":{v:["Nav rezultātu"]}}},{l:"mk",t:{"Clear selected":{v:["Исчисти означени"]},"Deselect {option}":{v:["Откажи избор на {option}"]},"No results":{v:["Нема резултати"]},Options:{v:["Опции"]}}},{l:"mn",t:{"Clear selected":{v:["Сонголтыг цэвэрлэх"]},"Deselect {option}":{v:["{option}-г сонголтоос хасах"]},"No results":{v:["Үр дүн алга"]},Options:{v:["Тохиргоо"]}}},{l:"my",t:{"No results":{v:["ရလဒ်မရှိပါ"]}}},{l:"nb",t:{"Clear selected":{v:["Tøm merket"]},"Deselect {option}":{v:["Opphev valg {option}"]},"No results":{v:["Ingen resultater"]},Options:{v:["Alternativer"]}}},{l:"nl",t:{"Clear selected":{v:["Selectie wissen"]},"Deselect {option}":{v:["Selectie {option} opheffen"]},"No results":{v:["Geen resultaten"]},Options:{v:["Opties"]}}},{l:"oc",t:{"No results":{v:["Cap de resultat"]}}},{l:"pl",t:{"Clear selected":{v:["Wyczyść wybrane"]},"Deselect {option}":{v:["Odznacz {option}"]},"No results":{v:["Brak wyników"]},Options:{v:["Opcje"]}}},{l:"pt-BR",t:{"Clear selected":{v:["Limpar selecionado"]},"Deselect {option}":{v:["Desselecionar {option}"]},"No results":{v:["Sem resultados"]},Options:{v:["Opções"]}}},{l:"pt-PT",t:{"Clear selected":{v:["Limpeza selecionada"]},"Deselect {option}":{v:["Desmarcar {option}"]},"No results":{v:["Sem resultados"]},Options:{v:["Opções"]}}},{l:"ro",t:{"Clear selected":{v:["Șterge selecția"]},"Deselect {option}":{v:["Deselctează {option}"]},"No results":{v:["Nu există rezultate"]}}},{l:"ru",t:{"Clear selected":{v:["Очистить выбранный"]},"Deselect {option}":{v:["Отменить выбор {option}"]},"No results":{v:["Результаты отсуствуют"]},Options:{v:["Варианты"]}}},{l:"sk",t:{"Clear selected":{v:["Vymazať vybraté"]},"Deselect {option}":{v:["Zrušiť výber {option}"]},"No results":{v:["Žiadne výsledky"]},Options:{v:["možnosti"]}}},{l:"sl",t:{"No results":{v:["Ni zadetkov"]}}},{l:"sr",t:{"Clear selected":{v:["Обриши изабрано"]},"Deselect {option}":{v:["Уклони избор {option}"]},"No results":{v:["Нема резултата"]},Options:{v:["Опције"]}}},{l:"sv",t:{"Clear selected":{v:["Rensa val"]},"Deselect {option}":{v:["Avmarkera {option}"]},"No results":{v:["Inga resultat"]},Options:{v:["Alternativ"]}}},{l:"tr",t:{"Clear selected":{v:["Seçilmişleri temizle"]},"Deselect {option}":{v:["{option} bırak"]},"No results":{v:["Herhangi bir sonuç bulunamadı"]},Options:{v:["Seçenekler"]}}},{l:"uk",t:{"Clear selected":{v:["Очистити вибране"]},"Deselect {option}":{v:["Зняти вибір {option}"]},"No results":{v:["Відсутні результати"]},Options:{v:["Параметри"]}}},{l:"uz",t:{"Clear selected":{v:["Tanlanganni tozalash"]},"Deselect {option}":{v:["{option}tanlovni bekor qiling"]},"No results":{v:["Natija yoʻq"]},Options:{v:["Variantlar"]}}},{l:"zh-CN",t:{"Clear selected":{v:["清除所选"]},"Deselect {option}":{v:["取消选择 {option}"]},"No results":{v:["无结果"]},Options:{v:["选项"]}}},{l:"zh-HK",t:{"Clear selected":{v:["清除所選項目"]},"Deselect {option}":{v:["取消選擇 {option}"]},"No results":{v:["無結果"]},Options:{v:["選項"]}}},{l:"zh-TW",t:{"Clear selected":{v:["清除選定項目"]},"Deselect {option}":{v:["取消選取 {option}"]},"No results":{v:["無結果"]},Options:{v:["選項"]}}}],Vd=[{l:"ar",t:{"Clear text":{v:["محو النص"]},"Save changes":{v:["حفظ التغييرات"]}}},{l:"ast",t:{"Clear text":{v:["Borrar el testu"]},"Save changes":{v:["Guardar los cambeos"]}}},{l:"br",t:{}},{l:"ca",t:{"Clear text":{v:["Netejar text"]}}},{l:"cs",t:{"Clear text":{v:["Čitelný text"]},"Save changes":{v:["Uložit změny"]}}},{l:"cs-CZ",t:{"Clear text":{v:["Čitelný text"]},"Save changes":{v:["Uložit změny"]}}},{l:"da",t:{"Clear text":{v:["Ryd tekst"]},"Save changes":{v:["Gem ændringer"]}}},{l:"de",t:{"Clear text":{v:["Klartext"]},"Save changes":{v:["Änderungen speichern"]}}},{l:"de-DE",t:{"Clear text":{v:["Klartext"]},"Save changes":{v:["Änderungen speichern"]}}},{l:"el",t:{"Clear text":{v:["Εκκαθάριση κειμένου"]},"Save changes":{v:["Αποθήκευση αλλαγών"]}}},{l:"en-GB",t:{"Clear text":{v:["Clear text"]},"Save changes":{v:["Save changes"]}}},{l:"eo",t:{}},{l:"es",t:{"Clear text":{v:["Limpiar texto"]},"Save changes":{v:["Guardar cambios"]}}},{l:"es-AR",t:{"Clear text":{v:["Limpiar texto"]},"Save changes":{v:["Guardar cambios"]}}},{l:"es-EC",t:{"Clear text":{v:["Limpiar texto"]}}},{l:"es-MX",t:{"Clear text":{v:["Limpiar texto"]},"Save changes":{v:["Guardar cambios"]}}},{l:"et-EE",t:{"Clear text":{v:["Kustuta tekst"]},"Save changes":{v:["Salvesta muudatused"]}}},{l:"eu",t:{"Clear text":{v:["Garbitu testua"]}}},{l:"fa",t:{"Clear text":{v:["پاک کردن متن"]},"Save changes":{v:["ذخیرهٔ تغییرات"]}}},{l:"fi",t:{"Clear text":{v:["Tyhjennä teksti"]},"Save changes":{v:["Tallenna muutokset"]}}},{l:"fr",t:{"Clear text":{v:["Effacer le texte"]},"Save changes":{v:["Sauvegarder les changements"]}}},{l:"ga",t:{"Clear text":{v:["Glan téacs"]},"Save changes":{v:["Sabháil na hathruithe"]}}},{l:"gl",t:{"Clear text":{v:["Limpar o texto"]},"Save changes":{v:["Gardar os cambios"]}}},{l:"he",t:{"Clear text":{v:["פינוי טקסט"]}}},{l:"hr",t:{"Clear text":{v:["Očisti tekst"]},"Save changes":{v:["Spremi promjene"]}}},{l:"hu",t:{"Clear text":{v:["Szöveg törlése"]},"Save changes":{v:["Változtatások mentése"]}}},{l:"id",t:{"Clear text":{v:["Bersihkan teks"]},"Save changes":{v:["Simpan perubahan"]}}},{l:"is",t:{"Clear text":{v:["Hreinsa texta"]},"Save changes":{v:["Vista breytingar"]}}},{l:"it",t:{"Clear text":{v:["Cancella il testo"]},"Save changes":{v:["Salva le modifiche"]}}},{l:"ja",t:{"Clear text":{v:["テキストをクリア"]},"Save changes":{v:["変更を保存"]}}},{l:"ja-JP",t:{"Clear text":{v:["テキストをクリア"]},"Save changes":{v:["変更を保存"]}}},{l:"ko",t:{"Clear text":{v:["텍스트 지우기"]},"Save changes":{v:["변경 사항 저장"]}}},{l:"lo",t:{"Clear text":{v:["ລຶບຂໍ້ຄວາມ"]},"Save changes":{v:["ບັນທຶກການປ່ຽນແປງ"]}}},{l:"lt-LT",t:{"Clear text":{v:["Išvalyti tekstą"]},"Save changes":{v:["Įrašyti pakeitimus"]}}},{l:"lv",t:{}},{l:"mk",t:{"Clear text":{v:["Исчисти текст"]},"Save changes":{v:["Зачувај промени"]}}},{l:"mn",t:{"Clear text":{v:["Текстийг цэвэрлэх"]},"Save changes":{v:["Өөрчлөлтийг хадгалах"]}}},{l:"my",t:{}},{l:"nb",t:{"Clear text":{v:["Fjern tekst"]},"Save changes":{v:["Lagre endringer"]}}},{l:"nl",t:{"Clear text":{v:["Tekst wissen"]},"Save changes":{v:["Wijzigingen opslaan"]}}},{l:"oc",t:{}},{l:"pl",t:{"Clear text":{v:["Wyczyść tekst"]},"Save changes":{v:["Zapisz zmiany"]}}},{l:"pt-BR",t:{"Clear text":{v:["Limpar texto"]},"Save changes":{v:["Salvar alterações"]}}},{l:"pt-PT",t:{"Clear text":{v:["Limpar texto"]},"Save changes":{v:["Gravar alterações"]}}},{l:"ro",t:{"Clear text":{v:["Șterge textul"]},"Save changes":{v:["Salvează modificările"]}}},{l:"ru",t:{"Clear text":{v:["Очистить текст"]},"Save changes":{v:["Сохранить изменения"]}}},{l:"sk",t:{"Clear text":{v:["Vamazať text"]},"Save changes":{v:["Uložiť zmeny"]}}},{l:"sl",t:{"Clear text":{v:["Počisti besedilo"]}}},{l:"sr",t:{"Clear text":{v:["Обриши текст"]},"Save changes":{v:["Сачувај измене"]}}},{l:"sv",t:{"Clear text":{v:["Ta bort text"]},"Save changes":{v:["Spara ändringar"]}}},{l:"tr",t:{"Clear text":{v:["Metni temizle"]},"Save changes":{v:["Değişiklikleri kaydet"]}}},{l:"uk",t:{"Clear text":{v:["Очистити текст"]},"Save changes":{v:["Зберегти зміни"]}}},{l:"uz",t:{"Clear text":{v:["Matnni tozalash"]},"Save changes":{v:["O'zgarishlarni saqlang"]}}},{l:"zh-CN",t:{"Clear text":{v:["清除文本"]},"Save changes":{v:["保存修改"]}}},{l:"zh-HK",t:{"Clear text":{v:["清除文本"]},"Save changes":{v:["保存更改"]}}},{l:"zh-TW",t:{"Clear text":{v:["清除文字"]},"Save changes":{v:["儲存變更"]}}}],Tg=[{l:"ar",t:{Close:{v:["إغلاق"]}}},{l:"ast",t:{Close:{v:["Zarrar"]}}},{l:"br",t:{Close:{v:["Serriñ"]}}},{l:"ca",t:{Close:{v:["Tanca"]}}},{l:"cs",t:{Close:{v:["Zavřít"]}}},{l:"cs-CZ",t:{Close:{v:["Zavřít"]}}},{l:"da",t:{Close:{v:["Luk"]}}},{l:"de",t:{Close:{v:["Schließen"]}}},{l:"de-DE",t:{Close:{v:["Schließen"]}}},{l:"el",t:{Close:{v:["Κλείσιμο"]}}},{l:"en-GB",t:{Close:{v:["Close"]}}},{l:"eo",t:{Close:{v:["Fermu"]}}},{l:"es",t:{Close:{v:["Cerrar"]}}},{l:"es-AR",t:{Close:{v:["Cerrar"]}}},{l:"es-EC",t:{Close:{v:["Cerrar"]}}},{l:"es-MX",t:{Close:{v:["Cerrar"]}}},{l:"et-EE",t:{Close:{v:["Sulge"]}}},{l:"eu",t:{Close:{v:["Itxi"]}}},{l:"fa",t:{Close:{v:["بستن"]}}},{l:"fi",t:{Close:{v:["Sulje"]}}},{l:"fr",t:{Close:{v:["Fermer"]}}},{l:"ga",t:{Close:{v:["Dún"]}}},{l:"gl",t:{Close:{v:["Pechar"]}}},{l:"he",t:{Close:{v:["סגירה"]}}},{l:"hr",t:{Close:{v:["Zatvori"]}}},{l:"hu",t:{Close:{v:["Bezárás"]}}},{l:"id",t:{Close:{v:["Tutup"]}}},{l:"is",t:{Close:{v:["Loka"]}}},{l:"it",t:{Close:{v:["Chiudi"]}}},{l:"ja",t:{Close:{v:["閉じる"]}}},{l:"ja-JP",t:{Close:{v:["閉じる"]}}},{l:"ko",t:{Close:{v:["닫기"]}}},{l:"lo",t:{Close:{v:["ປິດ"]}}},{l:"lt-LT",t:{Close:{v:["Užverti"]}}},{l:"lv",t:{Close:{v:["Aizvērt"]}}},{l:"mk",t:{Close:{v:["Затвори"]}}},{l:"mn",t:{Close:{v:["Хаах"]}}},{l:"my",t:{Close:{v:["ပိတ်ရန်"]}}},{l:"nb",t:{Close:{v:["Lukk"]}}},{l:"nl",t:{Close:{v:["Sluiten"]}}},{l:"oc",t:{Close:{v:["Tampar"]}}},{l:"pl",t:{Close:{v:["Zamknij"]}}},{l:"pt-BR",t:{Close:{v:["Fechar"]}}},{l:"pt-PT",t:{Close:{v:["Fechar"]}}},{l:"ro",t:{Close:{v:["Închideți"]}}},{l:"ru",t:{Close:{v:["Закрыть"]}}},{l:"sk",t:{Close:{v:["Zavrieť"]}}},{l:"sl",t:{Close:{v:["Zapri"]}}},{l:"sr",t:{Close:{v:["Затвори"]}}},{l:"sv",t:{Close:{v:["Stäng"]}}},{l:"tr",t:{Close:{v:["Kapat"]}}},{l:"uk",t:{Close:{v:["Закрити"]}}},{l:"uz",t:{Close:{v:["Yopish"]}}},{l:"zh-CN",t:{Close:{v:["关闭"]}}},{l:"zh-HK",t:{Close:{v:["關閉"]}}},{l:"zh-TW",t:{Close:{v:["關閉"]}}}],Og=[{l:"ar",t:{}},{l:"ast",t:{}},{l:"br",t:{}},{l:"ca",t:{}},{l:"cs",t:{"External documentation":{v:["Externí dokumentace"]}}},{l:"cs-CZ",t:{}},{l:"da",t:{"External documentation":{v:["Ekstern dokumentation"]}}},{l:"de",t:{"External documentation":{v:["Externe Dokumentation"]}}},{l:"de-DE",t:{"External documentation":{v:["Externe Dokumentation"]}}},{l:"el",t:{"External documentation":{v:["Εξωτερική τεκμηρίωση"]}}},{l:"en-GB",t:{"External documentation":{v:["External documentation"]}}},{l:"eo",t:{}},{l:"es",t:{}},{l:"es-AR",t:{}},{l:"es-EC",t:{}},{l:"es-MX",t:{}},{l:"et-EE",t:{"External documentation":{v:["Dokumentatsioon välises allikas"]}}},{l:"eu",t:{}},{l:"fa",t:{}},{l:"fi",t:{}},{l:"fr",t:{"External documentation":{v:["Documentation externe"]}}},{l:"ga",t:{"External documentation":{v:["Doiciméadú seachtrach"]}}},{l:"gl",t:{"External documentation":{v:["Documentación externa"]}}},{l:"he",t:{}},{l:"hr",t:{"External documentation":{v:["Vanjska dokumentacija"]}}},{l:"hu",t:{"External documentation":{v:["Külső dokumentáció"]}}},{l:"id",t:{"External documentation":{v:["Dokumentasi eksternal"]}}},{l:"is",t:{}},{l:"it",t:{}},{l:"ja",t:{"External documentation":{v:["外部ドキュメント"]}}},{l:"ja-JP",t:{}},{l:"ko",t:{"External documentation":{v:["외부 문서"]}}},{l:"lo",t:{"External documentation":{v:["ເອກະສານພາຍນອກ"]}}},{l:"lt-LT",t:{"External documentation":{v:["Išorinė dokumentacija"]}}},{l:"lv",t:{}},{l:"mk",t:{"External documentation":{v:["Надворешна документација"]}}},{l:"mn",t:{"External documentation":{v:["Гадаад баримт бичиг"]}}},{l:"my",t:{}},{l:"nb",t:{}},{l:"nl",t:{"External documentation":{v:["Externe documentatie"]}}},{l:"oc",t:{}},{l:"pl",t:{}},{l:"pt-BR",t:{"External documentation":{v:["Documentação externa"]}}},{l:"pt-PT",t:{}},{l:"ro",t:{}},{l:"ru",t:{"External documentation":{v:["Внешняя документация"]}}},{l:"sk",t:{}},{l:"sl",t:{}},{l:"sr",t:{"External documentation":{v:["Спољна документација"]}}},{l:"sv",t:{"External documentation":{v:["Extern dokumentation"]}}},{l:"tr",t:{"External documentation":{v:["Dış belgeler"]}}},{l:"uk",t:{"External documentation":{v:["Зовнішня документація"]}}},{l:"uz",t:{"External documentation":{v:["Tashqi hujjatlar"]}}},{l:"zh-CN",t:{}},{l:"zh-HK",t:{"External documentation":{v:["外部文件"]}}},{l:"zh-TW",t:{"External documentation":{v:["外部文件"]}}}],Rg=[{l:"ar",t:{"Hide password":{v:["إخفاء كلمة المرور"]},"Password is secure":{v:["كلمة المرور آمنة"]},"Show password":{v:["أظهِر كلمة المرور"]}}},{l:"ast",t:{"Hide password":{v:["Anubrir la contraseña"]},"Password is secure":{v:["La contraseña ye segura"]},"Show password":{v:["Amosar la contraseña"]}}},{l:"br",t:{}},{l:"ca",t:{"Hide password":{v:["Amagar contrasenya"]},"Password is secure":{v:["Contrasenya segura
"]},"Show password":{v:["Mostrar contrasenya"]}}},{l:"cs",t:{"Hide password":{v:["Skrýt heslo"]},"Password is secure":{v:["Heslo je bezpečné"]},"Show password":{v:["Zobrazit heslo"]}}},{l:"cs-CZ",t:{"Hide password":{v:["Skrýt heslo"]},"Password is secure":{v:["Heslo je bezpečné"]},"Show password":{v:["Zobrazit heslo"]}}},{l:"da",t:{"Hide password":{v:["Skjul kodeord"]},"Password is secure":{v:["Kodeordet er sikkert"]},"Show password":{v:["Vis kodeord"]}}},{l:"de",t:{"Hide password":{v:["Passwort verbergen"]},"Password is secure":{v:["Passwort ist sicher"]},"Show password":{v:["Passwort anzeigen"]}}},{l:"de-DE",t:{"Hide password":{v:["Passwort verbergen"]},"Password is secure":{v:["Passwort ist sicher"]},"Show password":{v:["Passwort anzeigen"]}}},{l:"el",t:{"Hide password":{v:["Απόκρυψη συνθηματικού"]},"Password is secure":{v:["Το συνθηματικό είναι ασφαλές"]},"Show password":{v:["Εμφάνιση κωδικού πρόσβασης"]}}},{l:"en-GB",t:{"Hide password":{v:["Hide password"]},"Password is secure":{v:["Password is secure"]},"Show password":{v:["Show password"]}}},{l:"eo",t:{}},{l:"es",t:{"Hide password":{v:["Ocultar contraseña"]},"Password is secure":{v:["La contraseña es segura"]},"Show password":{v:["Mostrar contraseña"]}}},{l:"es-AR",t:{"Hide password":{v:["Ocultar contraseña"]},"Password is secure":{v:["La contraseña es segura"]},"Show password":{v:["Mostrar contraseña"]}}},{l:"es-EC",t:{"Hide password":{v:["Ocultar contraseña"]},"Password is secure":{v:["La contraseña es segura"]},"Show password":{v:["Mostrar contraseña"]}}},{l:"es-MX",t:{"Hide password":{v:["Ocultar contraseña"]},"Password is secure":{v:["La contraseña es segura"]},"Show password":{v:["Mostrar contraseña"]}}},{l:"et-EE",t:{"Hide password":{v:["Peida salasõna"]},"Password is secure":{v:["Salasõna on turvaline"]},"Show password":{v:["Näita salasõna"]}}},{l:"eu",t:{"Hide password":{v:["Ezkutatu pasahitza"]},"Password is secure":{v:["Pasahitza segurua da"]},"Show password":{v:["Erakutsi pasahitza"]}}},{l:"fa",t:{"Hide password":{v:["پنهان کردن رمز عبور"]},"Password is secure":{v:["گذرواژه امن است"]},"Show password":{v:["نمایش گذرواژه"]}}},{l:"fi",t:{"Hide password":{v:["Piilota salasana"]},"Password is secure":{v:["Salasana on turvallinen"]},"Show password":{v:["Näytä salasana"]}}},{l:"fr",t:{"Hide password":{v:["Cacher le mot de passe"]},"Password is secure":{v:["Le mot de passe est sécurisé"]},"Show password":{v:["Afficher le mot de passe"]}}},{l:"ga",t:{"Hide password":{v:["Folaigh pasfhocal"]},"Password is secure":{v:["Tá pasfhocal slán"]},"Show password":{v:["Taispeáin pasfhocal"]}}},{l:"gl",t:{"Hide password":{v:["Agochar o contrasinal"]},"Password is secure":{v:["O contrasinal é seguro"]},"Show password":{v:["Amosar o contrasinal"]}}},{l:"he",t:{"Hide password":{v:["הסתרת סיסמה"]},"Password is secure":{v:["הסיסמה מאובטחת"]},"Show password":{v:["הצגת סיסמה"]}}},{l:"hr",t:{"Hide password":{v:["Sakrij lozinku"]},"Password is secure":{v:["Lozinka je zaštićena"]},"Show password":{v:["Prikaži lozinku"]}}},{l:"hu",t:{"Hide password":{v:["Jelszó elrejtése"]},"Password is secure":{v:["A jelszó biztonságos"]},"Show password":{v:["Jelszó megjelenítése"]}}},{l:"id",t:{"Hide password":{v:["Sembunyikan sandi"]},"Password is secure":{v:["Kata sandi sudah aman"]},"Show password":{v:["Tampilkan sandi"]}}},{l:"is",t:{"Hide password":{v:["Fela lykilorð"]},"Password is secure":{v:["Lykilorðið er öruggt"]},"Show password":{v:["Birta lykilorð"]}}},{l:"it",t:{"Hide password":{v:["Nascondi la password"]},"Password is secure":{v:["La password è sicura"]},"Show password":{v:["Mostra la password"]}}},{l:"ja",t:{"Hide password":{v:["パスワードを非表示"]},"Password is secure":{v:["パスワードは保護されています"]},"Show password":{v:["パスワードを表示"]}}},{l:"ja-JP",t:{"Hide password":{v:["パスワードを非表示"]},"Password is secure":{v:["パスワードは保護されています"]},"Show password":{v:["パスワードを表示"]}}},{l:"ko",t:{"Hide password":{v:["암호 숨기기"]},"Password is secure":{v:["암호가 안전합니다."]},"Show password":{v:["암호 표시"]}}},{l:"lo",t:{"Hide password":{v:["ເຊື່ອງລະຫັດຜ່ານ"]},"Password is secure":{v:["ລະຫັດຜ່ານປອດໄພ"]},"Show password":{v:["ສະແດງລະຫັດຜ່ານ"]}}},{l:"lt-LT",t:{"Hide password":{v:["Slėpti slaptažodį"]},"Password is secure":{v:["Slaptažodis yra saugus"]},"Show password":{v:["Rodyti slaptažodį"]}}},{l:"lv",t:{}},{l:"mk",t:{"Hide password":{v:["Сокриј лозинка"]},"Password is secure":{v:["Лозинката е безбедна"]},"Show password":{v:["Прикажи лозинка"]}}},{l:"mn",t:{"Hide password":{v:["Нууц үгийг нуух"]},"Password is secure":{v:["Нууц үг найдвартай байна"]},"Show password":{v:["Нууц үгийг харуулах"]}}},{l:"my",t:{}},{l:"nb",t:{"Hide password":{v:["Skjul passord"]},"Password is secure":{v:["Passordet er sikkert"]},"Show password":{v:["Vis passord"]}}},{l:"nl",t:{"Hide password":{v:["Wachtwoord verbergen"]},"Password is secure":{v:["Wachtwoord is veilig"]},"Show password":{v:["Wachtwoord weergeven"]}}},{l:"oc",t:{}},{l:"pl",t:{"Hide password":{v:["Ukryj hasło"]},"Password is secure":{v:["Hasło jest bezpieczne"]},"Show password":{v:["Pokaż hasło"]}}},{l:"pt-BR",t:{"Hide password":{v:["Ocultar senha"]},"Password is secure":{v:["A senha é segura"]},"Show password":{v:["Mostrar senha"]}}},{l:"pt-PT",t:{"Hide password":{v:["Ocultar palavra-passe"]},"Password is secure":{v:["A palavra-passe é segura"]},"Show password":{v:["Mostrar palavra-passe"]}}},{l:"ro",t:{"Hide password":{v:["Ascunde parola"]},"Password is secure":{v:["Parola este sigură"]},"Show password":{v:["Arată parola"]}}},{l:"ru",t:{"Hide password":{v:["Скрыть пароль"]},"Password is secure":{v:["Пароль надежный"]},"Show password":{v:["Показать пароль"]}}},{l:"sk",t:{"Hide password":{v:["Skryť heslo"]},"Password is secure":{v:["Heslo je bezpečné"]},"Show password":{v:["Zobraziť heslo"]}}},{l:"sl",t:{"Hide password":{v:["Skrij geslo"]},"Password is secure":{v:["Geslo je varno"]},"Show password":{v:["Pokaži geslo"]}}},{l:"sr",t:{"Hide password":{v:["Сакриј лозинку"]},"Password is secure":{v:["Лозинка је безбедна"]},"Show password":{v:["Прикажи лозинку"]}}},{l:"sv",t:{"Hide password":{v:["Göm lösenordet"]},"Password is secure":{v:["Lössenordet är säkert"]},"Show password":{v:["Visa lösenordet"]}}},{l:"tr",t:{"Hide password":{v:["Parolayı gizle"]},"Password is secure":{v:["Parola güvenli"]},"Show password":{v:["Parolayı görüntüle"]}}},{l:"uk",t:{"Hide password":{v:["Приховати пароль"]},"Password is secure":{v:["Пароль безпечний"]},"Show password":{v:["Показати пароль"]}}},{l:"uz",t:{"Hide password":{v:["Parolni yashirish"]},"Password is secure":{v:["Parol xavfsiz"]},"Show password":{v:["Parolni ko'rsatish"]}}},{l:"zh-CN",t:{"Hide password":{v:["隐藏密码"]},"Password is secure":{v:["密码安全"]},"Show password":{v:["显示密码"]}}},{l:"zh-HK",t:{"Hide password":{v:["隱藏密碼"]},"Password is secure":{v:["密碼是安全的"]},"Show password":{v:["顯示密碼"]}}},{l:"zh-TW",t:{"Hide password":{v:["隱藏密碼"]},"Password is secure":{v:["密碼安全"]},"Show password":{v:["顯示密碼"]}}}],kg=[{l:"ar",t:{"Loading …":{v:["التحميل جارٍ ..."]}}},{l:"ast",t:{}},{l:"br",t:{}},{l:"ca",t:{}},{l:"cs",t:{"Loading …":{v:["Načítání …"]}}},{l:"cs-CZ",t:{}},{l:"da",t:{"Loading …":{v:["Indlæser ..."]}}},{l:"de",t:{"Loading …":{v:["Wird geladen …"]}}},{l:"de-DE",t:{"Loading …":{v:["Wird geladen …"]}}},{l:"el",t:{"Loading …":{v:["Φόρτωση  …"]}}},{l:"en-GB",t:{"Loading …":{v:["Loading …"]}}},{l:"eo",t:{}},{l:"es",t:{}},{l:"es-AR",t:{}},{l:"es-EC",t:{}},{l:"es-MX",t:{}},{l:"et-EE",t:{"Loading …":{v:["Laadin…"]}}},{l:"eu",t:{}},{l:"fa",t:{"Loading …":{v:["در حال بارگذاری ..."]}}},{l:"fi",t:{"Loading …":{v:["Ladataan ..."]}}},{l:"fr",t:{"Loading …":{v:["Chargement..."]}}},{l:"ga",t:{"Loading …":{v:["Ag lódáil …"]}}},{l:"gl",t:{"Loading …":{v:["Cargando…"]}}},{l:"he",t:{}},{l:"hr",t:{"Loading …":{v:["Učitavanje …"]}}},{l:"hu",t:{"Loading …":{v:["Betöltés…"]}}},{l:"id",t:{"Loading …":{v:["Memuat …"]}}},{l:"is",t:{"Loading …":{v:["Hleð inn …"]}}},{l:"it",t:{}},{l:"ja",t:{"Loading …":{v:["読み込み中 …"]}}},{l:"ja-JP",t:{}},{l:"ko",t:{"Loading …":{v:["로딩 중 ..."]}}},{l:"lo",t:{"Loading …":{v:["ກຳລັງໂຫຼດ…"]}}},{l:"lt-LT",t:{"Loading …":{v:["Įkeliama …"]}}},{l:"lv",t:{}},{l:"mk",t:{"Loading …":{v:["Вчитување …"]}}},{l:"mn",t:{"Loading …":{v:["Ачаалж байна …"]}}},{l:"my",t:{}},{l:"nb",t:{"Loading …":{v:["Laster inn..."]}}},{l:"nl",t:{"Loading …":{v:["Laden …"]}}},{l:"oc",t:{}},{l:"pl",t:{"Loading …":{v:["Wczytywanie…"]}}},{l:"pt-BR",t:{"Loading …":{v:["Carregando …"]}}},{l:"pt-PT",t:{"Loading …":{v:["A carregar..."]}}},{l:"ro",t:{}},{l:"ru",t:{"Loading …":{v:["Загрузка …"]}}},{l:"sk",t:{"Loading …":{v:["Nahrávam ..."]}}},{l:"sl",t:{}},{l:"sr",t:{"Loading …":{v:["Учитава се…"]}}},{l:"sv",t:{"Loading …":{v:["Laddar …"]}}},{l:"tr",t:{"Loading …":{v:["Yükleniyor…"]}}},{l:"uk",t:{"Loading …":{v:["Завантаження …"]}}},{l:"uz",t:{"Loading …":{v:["Yuklanmoqda..."]}}},{l:"zh-CN",t:{"Loading …":{v:["加载中..."]}}},{l:"zh-HK",t:{"Loading …":{v:["加載中 …"]}}},{l:"zh-TW",t:{"Loading …":{v:["載入中......"]}}}],Ng=[{l:"ar",t:{Next:{v:["التالي"]},"Pause slideshow":{v:["تجميد عرض الشرائح"]},Previous:{v:["السابق"]},"Start slideshow":{v:["إبدإ العرض"]}}},{l:"ast",t:{Next:{v:["Siguiente"]},"Pause slideshow":{v:["Posar la presentación de diapositives"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Aniciar la presentación de diapositives"]}}},{l:"br",t:{Next:{v:["Da heul"]},"Pause slideshow":{v:["Arsav an diaporama"]},Previous:{v:["A-raok"]},"Start slideshow":{v:["Kregiñ an diaporama"]}}},{l:"ca",t:{Next:{v:["Següent"]},"Pause slideshow":{v:["Atura la presentació"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Inicia la presentació"]}}},{l:"cs",t:{Next:{v:["Následující"]},"Pause slideshow":{v:["Pozastavit prezentaci"]},Previous:{v:["Předchozí"]},"Start slideshow":{v:["Spustit prezentaci"]}}},{l:"cs-CZ",t:{Next:{v:["Následující"]},"Pause slideshow":{v:["Pozastavit prezentaci"]},Previous:{v:["Předchozí"]},"Start slideshow":{v:["Spustit prezentaci"]}}},{l:"da",t:{Next:{v:["Videre"]},"Pause slideshow":{v:["Suspender fremvisning"]},Previous:{v:["Forrige"]},"Start slideshow":{v:["Start fremvisning"]}}},{l:"de",t:{Next:{v:["Weiter"]},"Pause slideshow":{v:["Diashow pausieren"]},Previous:{v:["Vorherige"]},"Start slideshow":{v:["Diashow starten"]}}},{l:"de-DE",t:{Next:{v:["Weiter"]},"Pause slideshow":{v:["Diashow pausieren"]},Previous:{v:["Vorherige"]},"Start slideshow":{v:["Diashow starten"]}}},{l:"el",t:{Next:{v:["Επόμενο"]},"Pause slideshow":{v:["Παύση προβολής διαφανειών"]},Previous:{v:["Προηγούμενο"]},"Start slideshow":{v:["Έναρξη προβολής διαφανειών"]}}},{l:"en-GB",t:{Next:{v:["Next"]},"Pause slideshow":{v:["Pause slideshow"]},Previous:{v:["Previous"]},"Start slideshow":{v:["Start slideshow"]}}},{l:"eo",t:{Next:{v:["Sekva"]},"Pause slideshow":{v:["Payzi bildprezenton"]},Previous:{v:["Antaŭa"]},"Start slideshow":{v:["Komenci bildprezenton"]}}},{l:"es",t:{Next:{v:["Siguiente"]},"Pause slideshow":{v:["Pausar la presentación "]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar la presentación"]}}},{l:"es-AR",t:{Next:{v:["Siguiente"]},"Pause slideshow":{v:["Pausar la presentación "]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar la presentación"]}}},{l:"es-EC",t:{Next:{v:["Siguiente"]},"Pause slideshow":{v:["Pausar presentación de diapositivas"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar presentación de diapositivas"]}}},{l:"es-MX",t:{Next:{v:["Siguiente"]},"Pause slideshow":{v:["Pausar presentación de diapositivas"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar presentación de diapositivas"]}}},{l:"et-EE",t:{Next:{v:["Edasi"]},"Pause slideshow":{v:["Slaidiesitluse paus"]},Previous:{v:["Eelmine"]},"Start slideshow":{v:["Alusta slaidiesitust"]}}},{l:"eu",t:{Next:{v:["Hurrengoa"]},"Pause slideshow":{v:["Pausatu diaporama"]},Previous:{v:["Aurrekoa"]},"Start slideshow":{v:["Hasi diaporama"]}}},{l:"fa",t:{Next:{v:["بعدی"]},"Pause slideshow":{v:["توقف نمایش اسلاید"]},Previous:{v:["قبلی"]},"Start slideshow":{v:["شروع نمایش اسلاید"]}}},{l:"fi",t:{Next:{v:["Seuraava"]},"Pause slideshow":{v:["Keskeytä diaesitys"]},Previous:{v:["Edellinen"]},"Start slideshow":{v:["Aloita diaesitys"]}}},{l:"fr",t:{Next:{v:["Suivant"]},"Pause slideshow":{v:["Mettre le diaporama en pause"]},Previous:{v:["Précédent"]},"Start slideshow":{v:["Démarrer le diaporama"]}}},{l:"ga",t:{Next:{v:["Ar aghaidh"]},"Pause slideshow":{v:["Cuir taispeántas sleamhnán ar sos"]},Previous:{v:["Roimhe Seo"]},"Start slideshow":{v:["Tosaigh taispeántas sleamhnán"]}}},{l:"gl",t:{Next:{v:["Seguinte"]},"Pause slideshow":{v:["Pausar o diaporama"]},Previous:{v:["Anterir"]},"Start slideshow":{v:["Iniciar o diaporama"]}}},{l:"he",t:{Next:{v:["הבא"]},"Pause slideshow":{v:["השהיית מצגת"]},Previous:{v:["הקודם"]},"Start slideshow":{v:["התחלת המצגת"]}}},{l:"hr",t:{Next:{v:["Sljedeće"]},"Pause slideshow":{v:["Pauziraj dijaprojekciju"]},Previous:{v:["Prethodno"]},"Start slideshow":{v:["Pokreni dijaprojekciju"]}}},{l:"hu",t:{Next:{v:["Következő"]},"Pause slideshow":{v:["Diavetítés szüneteltetése"]},Previous:{v:["Előző"]},"Start slideshow":{v:["Diavetítés indítása"]}}},{l:"id",t:{Next:{v:["Selanjutnya"]},"Pause slideshow":{v:["Jeda tayangan slide"]},Previous:{v:["Sebelumnya"]},"Start slideshow":{v:["Mulai salindia"]}}},{l:"is",t:{Next:{v:["Næsta"]},"Pause slideshow":{v:["Gera hlé á skyggnusýningu"]},Previous:{v:["Fyrri"]},"Start slideshow":{v:["Byrja skyggnusýningu"]}}},{l:"it",t:{Next:{v:["Successivo"]},"Pause slideshow":{v:["Presentazione in pausa"]},Previous:{v:["Precedente"]},"Start slideshow":{v:["Avvia presentazione"]}}},{l:"ja",t:{Next:{v:["次"]},"Pause slideshow":{v:["スライドショーを一時停止"]},Previous:{v:["前"]},"Start slideshow":{v:["スライドショーを開始"]}}},{l:"ja-JP",t:{Next:{v:["次"]},"Pause slideshow":{v:["スライドショーを一時停止"]},Previous:{v:["前"]},"Start slideshow":{v:["スライドショーを開始"]}}},{l:"ko",t:{Next:{v:["다음"]},"Pause slideshow":{v:["슬라이드쇼 일시정지"]},Previous:{v:["이전"]},"Start slideshow":{v:["슬라이드쇼 시작"]}}},{l:"lo",t:{Next:{v:["ຕໍ່ໄປ"]},"Pause slideshow":{v:["ຢຸດສະໄລ້ໂຊຊົ່ວຄາວ"]},Previous:{v:["ກ່ອນໜ້າ"]},"Start slideshow":{v:["ເລີ່ມສະໄລ້ໂຊ"]}}},{l:"lt-LT",t:{Next:{v:["Kitas"]},"Pause slideshow":{v:["Pristabdyti skaidrių rodymą"]},Previous:{v:["Ankstesnis"]},"Start slideshow":{v:["Pradėti skaidrių rodymą"]}}},{l:"lv",t:{Next:{v:["Nākamais"]},"Pause slideshow":{v:["Pauzēt slaidrādi"]},Previous:{v:["Iepriekšējais"]},"Start slideshow":{v:["Sākt slaidrādi"]}}},{l:"mk",t:{Next:{v:["Следно"]},"Pause slideshow":{v:["Пузирај слајдшоу"]},Previous:{v:["Предходно"]},"Start slideshow":{v:["Стартувај слајдшоу"]}}},{l:"mn",t:{Next:{v:["Дараах"]},"Pause slideshow":{v:["Слайд шоуг түр зогсоох"]},Previous:{v:["Өмнөх"]},"Start slideshow":{v:["Слайд шоуг эхлүүлэх"]}}},{l:"my",t:{Next:{v:["နောက်သို့ဆက်ရန်"]},"Pause slideshow":{v:["စလိုက်ရှိုး ခေတ္တရပ်ရန်"]},Previous:{v:["ယခင်"]},"Start slideshow":{v:["စလိုက်ရှိုးအား စတင်ရန်"]}}},{l:"nb",t:{Next:{v:["Neste"]},"Pause slideshow":{v:["Pause lysbildefremvisning"]},Previous:{v:["Forrige"]},"Start slideshow":{v:["Start lysbildefremvisning"]}}},{l:"nl",t:{Next:{v:["Volgende"]},"Pause slideshow":{v:["Diavoorstelling pauzeren"]},Previous:{v:["Vorige"]},"Start slideshow":{v:["Diavoorstelling starten"]}}},{l:"oc",t:{Next:{v:["Seguent"]},"Pause slideshow":{v:["Metre en pausa lo diaporama"]},Previous:{v:["Precedent"]},"Start slideshow":{v:["Lançar lo diaporama"]}}},{l:"pl",t:{Next:{v:["Następny"]},"Pause slideshow":{v:["Wstrzymaj pokaz slajdów"]},Previous:{v:["Poprzedni"]},"Start slideshow":{v:["Rozpocznij pokaz slajdów"]}}},{l:"pt-BR",t:{Next:{v:["Próximo"]},"Pause slideshow":{v:["Pausar apresentação de slides"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar apresentação de slides"]}}},{l:"pt-PT",t:{Next:{v:["Seguinte"]},"Pause slideshow":{v:["Pausar diaporama"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar diaporama"]}}},{l:"ro",t:{Next:{v:["Următorul"]},"Pause slideshow":{v:["Pauză prezentare de diapozitive"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Începeți prezentarea de diapozitive"]}}},{l:"ru",t:{Next:{v:["Следующее"]},"Pause slideshow":{v:["Приостановить показ слйдов"]},Previous:{v:["Предыдущее"]},"Start slideshow":{v:["Начать показ слайдов"]}}},{l:"sk",t:{Next:{v:["Ďalej"]},"Pause slideshow":{v:["Pozastaviť prezentáciu"]},Previous:{v:["Predchádzajúce"]},"Start slideshow":{v:["Začať prezentáciu"]}}},{l:"sl",t:{Next:{v:["Naslednji"]},"Pause slideshow":{v:["Ustavi predstavitev"]},Previous:{v:["Predhodni"]},"Start slideshow":{v:["Začni predstavitev"]}}},{l:"sr",t:{Next:{v:["Следеће"]},"Pause slideshow":{v:["Паузирај слајд шоу"]},Previous:{v:["Претходно"]},"Start slideshow":{v:["Покрени слајд шоу"]}}},{l:"sv",t:{Next:{v:["Nästa"]},"Pause slideshow":{v:["Pausa bildspelet"]},Previous:{v:["Föregående"]},"Start slideshow":{v:["Starta bildspelet"]}}},{l:"tr",t:{Next:{v:["Sonraki"]},"Pause slideshow":{v:["Slayt sunumunu duraklat"]},Previous:{v:["Önceki"]},"Start slideshow":{v:["Slayt sunumunu başlat"]}}},{l:"uk",t:{Next:{v:["Вперед"]},"Pause slideshow":{v:["Пауза у показі слайдів"]},Previous:{v:["Назад"]},"Start slideshow":{v:["Почати показ слайдів"]}}},{l:"uz",t:{Next:{v:["Keyingi"]},"Pause slideshow":{v:["Slayd-shouni to'xtatib turish"]},Previous:{v:["Oldingi"]},"Start slideshow":{v:["Slayd-shouni boshlash"]}}},{l:"zh-CN",t:{Next:{v:["下一个"]},"Pause slideshow":{v:["暂停幻灯片"]},Previous:{v:["上一个"]},"Start slideshow":{v:["开始幻灯片"]}}},{l:"zh-HK",t:{Next:{v:["下一個"]},"Pause slideshow":{v:["暫停幻燈片"]},Previous:{v:["上一個"]},"Start slideshow":{v:["開始幻燈片"]}}},{l:"zh-TW",t:{Next:{v:["下一個"]},"Pause slideshow":{v:["暫停幻燈片"]},Previous:{v:["上一個"]},"Start slideshow":{v:["開始幻燈片"]}}}],Gd=[{l:"ar",t:{"Undo changes":{v:["تراجَع عن التغييرات"]}}},{l:"ast",t:{"Undo changes":{v:["Desfacer los cambeos"]}}},{l:"br",t:{}},{l:"ca",t:{"Undo changes":{v:["Desfés els canvis"]}}},{l:"cs",t:{"Undo changes":{v:["Vzít změny zpět"]}}},{l:"cs-CZ",t:{"Undo changes":{v:["Vzít změny zpět"]}}},{l:"da",t:{"Undo changes":{v:["Fortryd ændringer"]}}},{l:"de",t:{"Undo changes":{v:["Änderungen rückgängig machen"]}}},{l:"de-DE",t:{"Undo changes":{v:["Änderungen rückgängig machen"]}}},{l:"el",t:{"Undo changes":{v:["Αναίρεση Αλλαγών"]}}},{l:"en-GB",t:{"Undo changes":{v:["Undo changes"]}}},{l:"eo",t:{}},{l:"es",t:{"Undo changes":{v:["Deshacer cambios"]}}},{l:"es-AR",t:{"Undo changes":{v:["Deshacer cambios"]}}},{l:"es-EC",t:{"Undo changes":{v:["Deshacer cambios"]}}},{l:"es-MX",t:{"Undo changes":{v:["Deshacer cambios"]}}},{l:"et-EE",t:{"Undo changes":{v:["Pööra muudatused tagasi"]}}},{l:"eu",t:{"Undo changes":{v:["Aldaketak desegin"]}}},{l:"fa",t:{"Undo changes":{v:["لغو تغییرات"]}}},{l:"fi",t:{"Undo changes":{v:["Kumoa muutokset"]}}},{l:"fr",t:{"Undo changes":{v:["Annuler les changements"]}}},{l:"ga",t:{"Undo changes":{v:["Cealaigh athruithe"]}}},{l:"gl",t:{"Undo changes":{v:["Desfacer os cambios"]}}},{l:"he",t:{"Undo changes":{v:["ביטול שינויים"]}}},{l:"hr",t:{"Undo changes":{v:["Poništi promjene"]}}},{l:"hu",t:{"Undo changes":{v:["Változtatások visszavonása"]}}},{l:"id",t:{"Undo changes":{v:["Urungkan perubahan"]}}},{l:"is",t:{"Undo changes":{v:["Afturkalla breytingar"]}}},{l:"it",t:{"Undo changes":{v:["Cancella i cambiamenti"]}}},{l:"ja",t:{"Undo changes":{v:["変更を取り消し"]}}},{l:"ja-JP",t:{"Undo changes":{v:["変更を取り消し"]}}},{l:"ko",t:{"Undo changes":{v:["변경 되돌리기"]}}},{l:"lo",t:{"Undo changes":{v:["ຍ້ອນຄືນການປ່ຽນແປງ"]}}},{l:"lt-LT",t:{"Undo changes":{v:["Atšaukti pakeitimus"]}}},{l:"lv",t:{}},{l:"mk",t:{"Undo changes":{v:["Врати ги промените"]}}},{l:"mn",t:{"Undo changes":{v:["Өөрчлөлтийг буцаах"]}}},{l:"my",t:{}},{l:"nb",t:{"Undo changes":{v:["Tilbakestill endringer"]}}},{l:"nl",t:{"Undo changes":{v:["Wijzigingen ongedaan maken"]}}},{l:"oc",t:{}},{l:"pl",t:{"Undo changes":{v:["Cofnij zmiany"]}}},{l:"pt-BR",t:{"Undo changes":{v:["Desfazer modificações"]}}},{l:"pt-PT",t:{"Undo changes":{v:["Anular alterações"]}}},{l:"ro",t:{"Undo changes":{v:["Anularea modificărilor"]}}},{l:"ru",t:{"Undo changes":{v:["Отменить изменения"]}}},{l:"sk",t:{"Undo changes":{v:["Vrátiť zmeny"]}}},{l:"sl",t:{"Undo changes":{v:["Razveljavi spremembe"]}}},{l:"sr",t:{"Undo changes":{v:["Поништи измене"]}}},{l:"sv",t:{"Undo changes":{v:["Ångra ändringar"]}}},{l:"tr",t:{"Undo changes":{v:["Değişiklikleri geri al"]}}},{l:"uk",t:{"Undo changes":{v:["Скасувати зміни"]}}},{l:"uz",t:{"Undo changes":{v:["O'zgarishlarni bekor qilish"]}}},{l:"zh-CN",t:{"Undo changes":{v:["撤销更改"]}}},{l:"zh-HK",t:{"Undo changes":{v:["取消更改"]}}},{l:"zh-TW",t:{"Undo changes":{v:["還原變更"]}}}];window._nc_vue_element_id=window._nc_vue_element_id??0;function qd(){return`nc-vue-${window._nc_vue_element_id++}`}const Wd={class:"input-field__main-wrapper"},Xd=["id","aria-describedby","disabled","placeholder","type","value"],Kd=["for"],Jd={class:"input-field__icon input-field__icon--leading"},Zd={key:2,class:"input-field__icon input-field__icon--trailing"},Yd=["id"],Qd=Bo({inheritAttrs:!1,__name:"NcInputField",props:Fs({class:{default:""},inputClass:{default:""},id:{default:()=>qd()},label:{default:void 0},labelOutside:{type:Boolean},type:{default:"text"},placeholder:{default:void 0},showTrailingButton:{type:Boolean},trailingButtonLabel:{default:void 0},success:{type:Boolean},error:{type:Boolean},helperText:{default:""},disabled:{type:Boolean},pill:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:Fs(["trailingButtonClick"],["update:modelValue"]),setup(e,{expose:t,emit:n}){const r=ml(e,"modelValue"),o=e,s=n;t({focus:b,select:A});const i=_f(),f=al("input"),c=Ye(()=>o.showTrailingButton||o.success),d=Ye(()=>{if(o.placeholder)return o.placeholder;if(o.label)return Gs?o.label:""}),a=Ye(()=>o.label||o.labelOutside),v=Ye(()=>{const E=[];return o.helperText&&E.push(`${o.id}-helper-text`),i["aria-describedby"]&&E.push(String(i["aria-describedby"])),E.join(" ")||void 0});function b(E){f.value.focus(E)}function A(){f.value.select()}function P(E){const M=E.target;r.value=o.type==="number"&&typeof r.value=="number"?parseFloat(M.value):M.value}return(E,M)=>(He(),En("div",{class:Jn(["input-field",[{"input-field--disabled":e.disabled,"input-field--error":e.error,"input-field--label-outside":e.labelOutside||!a.value,"input-field--leading-icon":!!E.$slots.icon,"input-field--trailing-icon":c.value,"input-field--pill":e.pill,"input-field--success":e.success,"input-field--legacy":it(Gs)},E.$props.class]])},[Qt("div",Wd,[Qt("input",No(E.$attrs,{id:e.id,ref:"input","aria-describedby":v.value,"aria-live":"polite",class:["input-field__input",e.inputClass],disabled:e.disabled,placeholder:d.value,type:e.type,value:r.value.toString(),onInput:P}),null,16,Xd),!e.labelOutside&&a.value?(He(),En("label",{key:0,class:"input-field__label",for:e.id},ro(e.label),9,Kd)):cr("",!0),nf(Qt("div",Jd,[xr(E.$slots,"icon",{},void 0,!0)],512),[[wp,!!E.$slots.icon]]),e.showTrailingButton?(He(),xt(Rd,{key:1,class:"input-field__trailing-button","aria-label":e.trailingButtonLabel,disabled:e.disabled,variant:"tertiary-no-background",onClick:M[0]||(M[0]=T=>s("trailingButtonClick",T))},{icon:Xn(()=>[xr(E.$slots,"trailing-button-icon",{},void 0,!0)]),_:3},8,["aria-label","disabled"])):e.success||e.error?(He(),En("div",Zd,[e.success?(He(),xt(zn,{key:0,path:it(Zi)},null,8,["path"])):(He(),xt(zn,{key:1,path:it(Ji)},null,8,["path"]))])):cr("",!0)]),e.helperText?(He(),En("p",{key:0,id:`${e.id}-helper-text`,class:"input-field__helper-text-message"},[e.success?(He(),xt(zn,{key:0,class:"input-field__helper-text-message__icon",path:it(Zi),inline:""},null,8,["path"])):e.error?(He(),xt(zn,{key:1,class:"input-field__helper-text-message__icon",path:it(Ji),inline:""},null,8,["path"])):cr("",!0),Eu(" "+ro(e.helperText),1)],8,Yd)):cr("",!0)],2))}}),Yi=wu(Qd,[["__scopeId","data-v-8e16cbb5"]]);Hd(Vd,Gd);const Fg=Bo({__name:"NcTextField",props:Fs({class:{},inputClass:{},id:{},label:{},labelOutside:{type:Boolean},type:{},placeholder:{},showTrailingButton:{type:Boolean},trailingButtonLabel:{default:void 0},success:{type:Boolean},error:{type:Boolean},helperText:{},disabled:{type:Boolean},pill:{type:Boolean},trailingButtonIcon:{default:"close"}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(e,{expose:t}){const n=ml(e,"modelValue"),r=e;t({focus:c,select:d});const o=al("inputField"),s={arrowEnd:ys("Save changes"),close:ys("Clear text"),undo:ys("Undo changes")},i=new Set(Object.keys(Yi.props)),f=Ye(()=>{const a=Object.fromEntries(Object.entries(r).filter(([v])=>i.has(v)));return a.trailingButtonLabel??=s[r.trailingButtonIcon],a});function c(a){o.value.focus(a)}function d(){o.value.select()}return(a,v)=>(He(),xt(it(Yi),No(f.value,{ref:"inputField",modelValue:n.value,"onUpdate:modelValue":v[0]||(v[0]=b=>n.value=b)}),xf({_:2},[a.$slots.icon?{name:"icon",fn:Xn(()=>[xr(a.$slots,"icon")]),key:"0"}:void 0,e.type!=="search"?{name:"trailing-button-icon",fn:Xn(()=>[e.trailingButtonIcon==="arrowEnd"?(He(),xt(it(zn),{key:0,directional:"",path:it(kd)},null,8,["path"])):(He(),xt(it(zn),{key:1,path:e.trailingButtonIcon==="undo"?it(Fd):it(Nd)},null,8,["path"]))]),key:"1"}:void 0]),1040,["modelValue"]))}}),Lg=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n};function ec(e,t){return function(){return e.apply(t,arguments)}}const{toString:eh}=Object.prototype,{getPrototypeOf:Lo}=Object,{iterator:Po,toStringTag:tc}=Symbol,Io=(e=>t=>{const n=eh.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Nt=e=>(e=e.toLowerCase(),t=>Io(t)===e),jo=e=>t=>typeof t===e,{isArray:Sn}=Array,Kn=jo("undefined");function Yn(e){return e!==null&&!Kn(e)&&e.constructor!==null&&!Kn(e.constructor)&&vt(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const nc=Nt("ArrayBuffer");function th(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&nc(e.buffer),t}const nh=jo("string"),vt=jo("function"),rc=jo("number"),kr=e=>e!==null&&typeof e=="object",rh=e=>e===!0||e===!1,Qr=e=>{if(Io(e)!=="object")return!1;const t=Lo(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(tc in e)&&!(Po in e)},oh=e=>{if(!kr(e)||Yn(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},sh=Nt("Date"),uh=Nt("File"),ih=e=>!!(e&&typeof e.uri<"u"),ah=e=>e&&typeof e.getParts<"u",lh=Nt("Blob"),ch=Nt("FileList"),fh=e=>kr(e)&&vt(e.pipe);function ph(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof Er<"u"?Er:{}}const Qi=ph(),ea=typeof Qi.FormData<"u"?Qi.FormData:void 0,dh=e=>{if(!e)return!1;if(ea&&e instanceof ea)return!0;const t=Lo(e);if(!t||t===Object.prototype||!vt(e.append))return!1;const n=Io(e);return n==="formdata"||n==="object"&&vt(e.toString)&&e.toString()==="[object FormData]"},hh=Nt("URLSearchParams"),[gh,vh,mh,Eh]=["ReadableStream","Request","Response","Headers"].map(Nt),yh=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Nr(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,o;if(typeof e!="object"&&(e=[e]),Sn(e))for(r=0,o=e.length;r0;)if(o=n[r],t===o.toLowerCase())return o;return null}const bn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:Er,sc=e=>!Kn(e)&&e!==bn;function qs(...e){const{caseless:t,skipUndefined:n}=sc(this)&&this||{},r={},o=(s,i)=>{if(i==="__proto__"||i==="constructor"||i==="prototype")return;const f=t&&typeof i=="string"&&oc(r,i)||i,c=Ws(r,f)?r[f]:void 0;Qr(c)&&Qr(s)?r[f]=qs(c,s):Qr(s)?r[f]=qs({},s):Sn(s)?r[f]=s.slice():(!n||!Kn(s))&&(r[f]=s)};for(let s=0,i=e.length;s(Nr(t,(o,s)=>{n&&vt(o)?Object.defineProperty(e,s,{__proto__:null,value:ec(o,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,s,{__proto__:null,value:o,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),wh=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Ch=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{__proto__:null,value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{__proto__:null,value:t.prototype}),n&&Object.assign(e.prototype,n)},Ah=(e,t,n,r)=>{let o,s,i;const f={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),s=o.length;s-- >0;)i=o[s],(!r||r(i,e,t))&&!f[i]&&(t[i]=e[i],f[i]=!0);e=n!==!1&&Lo(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},xh=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},Sh=e=>{if(!e)return null;if(Sn(e))return e;let t=e.length;if(!rc(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},_h=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Lo(Uint8Array)),Dh=(e,t)=>{const n=(e&&e[Po]).call(e);let r;for(;(r=n.next())&&!r.done;){const o=r.value;t.call(e,o[0],o[1])}},Bh=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Th=Nt("HTMLFormElement"),Oh=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,n,r){return n.toUpperCase()+r}),Ws=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),{propertyIsEnumerable:Rh}=Object.prototype,kh=Nt("RegExp"),uc=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Nr(n,(o,s)=>{let i;(i=t(o,s,e))!==!1&&(r[s]=i||o)}),Object.defineProperties(e,r)},Nh=e=>{uc(e,(t,n)=>{if(vt(e)&&["arguments","caller","callee"].includes(n))return!1;const r=e[n];if(vt(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Fh=(e,t)=>{const n={},r=o=>{o.forEach(s=>{n[s]=!0})};return Sn(e)?r(e):r(String(e).split(t)),n},Lh=()=>{},Ph=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Ih(e){return!!(e&&vt(e.append)&&e[tc]==="FormData"&&e[Po])}const jh=e=>{const t=new WeakSet,n=r=>{if(kr(r)){if(t.has(r))return;if(Yn(r))return r;if(!("toJSON"in r)){t.add(r);const o=Sn(r)?[]:{};return Nr(r,(s,i)=>{const f=n(s);!Kn(f)&&(o[i]=f)}),t.delete(r),o}}return r};return n(e)},Uh=Nt("AsyncFunction"),Mh=e=>e&&(kr(e)||vt(e))&&vt(e.then)&&vt(e.catch),ic=((e,t)=>e?setImmediate:t?((n,r)=>(bn.addEventListener("message",({source:o,data:s})=>{o===bn&&s===n&&r.length&&r.shift()()},!1),o=>{r.push(o),bn.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",vt(bn.postMessage)),zh=typeof queueMicrotask<"u"?queueMicrotask.bind(bn):typeof Hs<"u"&&Hs.nextTick||ic,$h=e=>e!=null&&vt(e[Po]),C={isArray:Sn,isArrayBuffer:nc,isBuffer:Yn,isFormData:dh,isArrayBufferView:th,isString:nh,isNumber:rc,isBoolean:rh,isObject:kr,isPlainObject:Qr,isEmptyObject:oh,isReadableStream:gh,isRequest:vh,isResponse:mh,isHeaders:Eh,isUndefined:Kn,isDate:sh,isFile:uh,isReactNativeBlob:ih,isReactNative:ah,isBlob:lh,isRegExp:kh,isFunction:vt,isStream:fh,isURLSearchParams:hh,isTypedArray:_h,isFileList:ch,forEach:Nr,merge:qs,extend:bh,trim:yh,stripBOM:wh,inherits:Ch,toFlatObject:Ah,kindOf:Io,kindOfTest:Nt,endsWith:xh,toArray:Sh,forEachEntry:Dh,matchAll:Bh,isHTMLForm:Th,hasOwnProperty:Ws,hasOwnProp:Ws,reduceDescriptors:uc,freezeMethods:Nh,toObjectSet:Fh,toCamelCase:Oh,noop:Lh,toFiniteNumber:Ph,findKey:oc,global:bn,isContextDefined:sc,isSpecCompliantForm:Ih,toJSONObject:jh,isAsyncFn:Uh,isThenable:Mh,setImmediate:ic,asap:zh,isIterable:$h},Hh=C.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Vh=e=>{const t={};let n,r,o;return e&&e.split(` +`).forEach(function(s){o=s.indexOf(":"),n=s.substring(0,o).trim().toLowerCase(),r=s.substring(o+1).trim(),!(!n||t[n]&&Hh[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t};function Gh(e){let t=0,n=e.length;for(;tt;){const r=e.charCodeAt(n-1);if(r!==9&&r!==32)break;n-=1}return t===0&&n===e.length?e:e.slice(t,n)}const qh=new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+","g"),Wh=new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+","g");function Au(e,t){return C.isArray(e)?e.map(n=>Au(n,t)):Gh(String(e).replace(t,""))}const Xh=e=>Au(e,qh),Kh=e=>Au(e,Wh);function ac(e){const t=Object.create(null);return C.forEach(e.toJSON(),(n,r)=>{t[r]=Kh(n)}),t}const ta=Symbol("internals");function ur(e){return e&&String(e).trim().toLowerCase()}function eo(e){return e===!1||e==null?e:C.isArray(e)?e.map(eo):Xh(String(e))}function Jh(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const Zh=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function bs(e,t,n,r,o){if(C.isFunction(r))return r.call(this,t,n);if(o&&(t=n),!!C.isString(t)){if(C.isString(r))return t.indexOf(r)!==-1;if(C.isRegExp(r))return r.test(t)}}function Yh(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function Qh(e,t){const n=C.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{__proto__:null,value:function(o,s,i){return this[r].call(this,t,o,s,i)},configurable:!0})})}let lt=class{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(i,f,c){const d=ur(f);if(!d)return;const a=C.findKey(r,d);(!a||r[a]===void 0||c===!0||c===void 0&&r[a]!==!1)&&(r[a||f]=eo(i))}const s=(i,f)=>C.forEach(i,(c,d)=>o(c,d,f));if(C.isPlainObject(e)||e instanceof this.constructor)s(e,t);else if(C.isString(e)&&(e=e.trim())&&!Zh(e))s(Vh(e),t);else if(C.isObject(e)&&C.isIterable(e)){let i={},f,c;for(const d of e){if(!C.isArray(d))throw new TypeError("Object iterator must return a key-value pair");i[c=d[0]]=(f=i[c])?C.isArray(f)?[...f,d[1]]:[f,d[1]]:d[1]}s(i,t)}else e!=null&&o(t,e,n);return this}get(e,t){if(e=ur(e),e){const n=C.findKey(this,e);if(n){const r=this[n];if(!t)return r;if(t===!0)return Jh(r);if(C.isFunction(t))return t.call(this,r,n);if(C.isRegExp(t))return t.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=ur(e),e){const n=C.findKey(this,e);return!!(n&&this[n]!==void 0&&(!t||bs(this,this[n],n,t)))}return!1}delete(e,t){const n=this;let r=!1;function o(s){if(s=ur(s),s){const i=C.findKey(n,s);i&&(!t||bs(n,n[i],i,t))&&(delete n[i],r=!0)}}return C.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];(!e||bs(this,this[o],o,e,!0))&&(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return C.forEach(this,(r,o)=>{const s=C.findKey(n,o);if(s){t[s]=eo(r),delete t[o];return}const i=e?Yh(o):String(o).trim();i!==o&&delete t[o],t[i]=eo(r),n[i]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return C.forEach(this,(n,r)=>{n!=null&&n!==!1&&(t[r]=e&&C.isArray(n)?n.join(", "):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(` +`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach(r=>n.set(r)),n}static accessor(e){const t=(this[ta]=this[ta]={accessors:{}}).accessors,n=this.prototype;function r(o){const s=ur(o);t[s]||(Qh(n,o),t[s]=!0)}return C.isArray(e)?e.forEach(r):r(e),this}};lt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),C.reduceDescriptors(lt.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}}),C.freezeMethods(lt);const e4="[REDACTED ****]";function t4(e){if(C.hasOwnProp(e,"toJSON"))return!0;let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype;){if(C.hasOwnProp(t,"toJSON"))return!0;t=Object.getPrototypeOf(t)}return!1}function n4(e,t){const n=new Set(t.map(s=>String(s).toLowerCase())),r=[],o=s=>{if(s===null||typeof s!="object"||C.isBuffer(s))return s;if(r.indexOf(s)!==-1)return;s instanceof lt&&(s=s.toJSON()),r.push(s);let i;if(C.isArray(s))i=[],s.forEach((f,c)=>{const d=o(f);C.isUndefined(d)||(i[c]=d)});else{if(!C.isPlainObject(s)&&t4(s))return r.pop(),s;i=Object.create(null);for(const[f,c]of Object.entries(s)){const d=n.has(f.toLowerCase())?e4:o(c);C.isUndefined(d)||(i[f]=d)}}return r.pop(),i};return o(e)}let G=class lc extends Error{static from(t,n,r,o,s,i){const f=new lc(t.message,n||t.code,r,o,s);return f.cause=t,f.name=t.name,t.status!=null&&f.status==null&&(f.status=t.status),i&&Object.assign(f,i),f}constructor(t,n,r,o,s){super(t),Object.defineProperty(this,"message",{__proto__:null,value:t,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),r&&(this.config=r),o&&(this.request=o),s&&(this.response=s,this.status=s.status)}toJSON(){const t=this.config,n=t&&C.hasOwnProp(t,"redact")?t.redact:void 0,r=C.isArray(n)&&n.length>0?n4(t,n):C.toJSONObject(t);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:r,code:this.code,status:this.status}}};G.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE",G.ERR_BAD_OPTION="ERR_BAD_OPTION",G.ECONNABORTED="ECONNABORTED",G.ETIMEDOUT="ETIMEDOUT",G.ECONNREFUSED="ECONNREFUSED",G.ERR_NETWORK="ERR_NETWORK",G.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS",G.ERR_DEPRECATED="ERR_DEPRECATED",G.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE",G.ERR_BAD_REQUEST="ERR_BAD_REQUEST",G.ERR_CANCELED="ERR_CANCELED",G.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT",G.ERR_INVALID_URL="ERR_INVALID_URL",G.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const r4=null;function Xs(e){return C.isPlainObject(e)||C.isArray(e)}function cc(e){return C.endsWith(e,"[]")?e.slice(0,-2):e}function ws(e,t,n){return e?e.concat(t).map(function(r,o){return r=cc(r),!n&&o?"["+r+"]":r}).join(n?".":""):t}function o4(e){return C.isArray(e)&&!e.some(Xs)}const s4=C.toFlatObject(C,{},null,function(e){return/^is[A-Z]/.test(e)});function Uo(e,t,n){if(!C.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=C.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(E,M){return!C.isUndefined(M[E])});const r=n.metaTokens,o=n.visitor||v,s=n.dots,i=n.indexes,f=n.Blob||typeof Blob<"u"&&Blob,c=n.maxDepth===void 0?100:n.maxDepth,d=f&&C.isSpecCompliantForm(t);if(!C.isFunction(o))throw new TypeError("visitor must be a function");function a(E){if(E===null)return"";if(C.isDate(E))return E.toISOString();if(C.isBoolean(E))return E.toString();if(!d&&C.isBlob(E))throw new G("Blob is not supported. Use a Buffer instead.");return C.isArrayBuffer(E)||C.isTypedArray(E)?d&&typeof Blob=="function"?new Blob([E]):Yr.from(E):E}function v(E,M,T){let R=E;if(C.isReactNative(t)&&C.isReactNativeBlob(E))return t.append(ws(T,M,s),a(E)),!1;if(E&&!T&&typeof E=="object"){if(C.endsWith(M,"{}"))M=r?M:M.slice(0,-2),E=JSON.stringify(E);else if(C.isArray(E)&&o4(E)||(C.isFileList(E)||C.endsWith(M,"[]"))&&(R=C.toArray(E)))return M=cc(M),R.forEach(function(z,N){!(C.isUndefined(z)||z===null)&&t.append(i===!0?ws([M],N,s):i===null?M:M+"[]",a(z))}),!1}return Xs(E)?!0:(t.append(ws(T,M,s),a(E)),!1)}const b=[],A=Object.assign(s4,{defaultVisitor:v,convertValue:a,isVisitable:Xs});function P(E,M,T=0){if(!C.isUndefined(E)){if(T>c)throw new G("Object is too deeply nested ("+T+" levels). Max depth: "+c,G.ERR_FORM_DATA_DEPTH_EXCEEDED);if(b.indexOf(E)!==-1)throw new Error("Circular reference detected in "+M.join("."));b.push(E),C.forEach(E,function(R,z){(!(C.isUndefined(R)||R===null)&&o.call(t,R,C.isString(z)?z.trim():z,M,A))===!0&&P(R,M?M.concat(z):[z],T+1)}),b.pop()}}if(!C.isObject(e))throw new TypeError("data must be an object");return P(e),t}function na(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(n){return t[n]})}function xu(e,t){this._pairs=[],e&&Uo(e,this,t)}const ra=xu.prototype;ra.append=function(e,t){this._pairs.push([e,t])},ra.toString=function(e){const t=e?function(n){return e.call(this,n,na)}:na;return this._pairs.map(function(n){return t(n[0])+"="+t(n[1])},"").join("&")};function u4(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function fc(e,t,n){if(!t)return e;const r=n&&n.encode||u4,o=C.isFunction(n)?{serialize:n}:n,s=o&&o.serialize;let i;if(s?i=s(t,o):i=C.isURLSearchParams(t)?t.toString():new xu(t,o).toString(r),i){const f=e.indexOf("#");f!==-1&&(e=e.slice(0,f)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class oa{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){C.forEach(this.handlers,function(n){n!==null&&t(n)})}}const Su={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0,advertiseZstdAcceptEncoding:!1},i4=typeof URLSearchParams<"u"?URLSearchParams:xu,a4=typeof FormData<"u"?FormData:null,l4=typeof Blob<"u"?Blob:null,c4={isBrowser:!0,classes:{URLSearchParams:i4,FormData:a4,Blob:l4},protocols:["http","https","file","blob","url","data"]},_u=typeof window<"u"&&typeof document<"u",Ks=typeof navigator=="object"&&navigator||void 0,f4=_u&&(!Ks||["ReactNative","NativeScript","NS"].indexOf(Ks.product)<0),p4=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",d4=_u&&window.location.href||"http://localhost",h4=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:_u,hasStandardBrowserEnv:f4,hasStandardBrowserWebWorkerEnv:p4,navigator:Ks,origin:d4},Symbol.toStringTag,{value:"Module"})),Xe={...h4,...c4};function g4(e,t){return Uo(e,new Xe.classes.URLSearchParams,{visitor:function(n,r,o,s){return Xe.isNode&&C.isBuffer(n)?(this.append(r,n.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...t})}function v4(e){return C.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function m4(e){const t={},n=Object.keys(e);let r;const o=n.length;let s;for(r=0;r=n.length;return i=!i&&C.isArray(o)?o.length:i,c?(C.hasOwnProp(o,i)?o[i]=C.isArray(o[i])?o[i].concat(r):[o[i],r]:o[i]=r,!f):((!C.hasOwnProp(o,i)||!C.isObject(o[i]))&&(o[i]=[]),t(n,r,o[i],s)&&C.isArray(o[i])&&(o[i]=m4(o[i])),!f)}if(C.isFormData(e)&&C.isFunction(e.entries)){const n={};return C.forEachEntry(e,(r,o)=>{t(v4(r),o,n,0)}),n}return null}const In=(e,t)=>e!=null&&C.hasOwnProp(e,t)?e[t]:void 0;function E4(e,t,n){if(C.isString(e))try{return(t||JSON.parse)(e),C.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const Fr={transitional:Su,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=C.isObject(e);if(o&&C.isHTMLForm(e)&&(e=new FormData(e)),C.isFormData(e))return r?JSON.stringify(pc(e)):e;if(C.isArrayBuffer(e)||C.isBuffer(e)||C.isStream(e)||C.isFile(e)||C.isBlob(e)||C.isReadableStream(e))return e;if(C.isArrayBufferView(e))return e.buffer;if(C.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){const i=In(this,"formSerializer");if(n.indexOf("application/x-www-form-urlencoded")>-1)return g4(e,i).toString();if((s=C.isFileList(e))||n.indexOf("multipart/form-data")>-1){const f=In(this,"env"),c=f&&f.FormData;return Uo(s?{"files[]":e}:e,c&&new c,i)}}return o||r?(t.setContentType("application/json",!1),E4(e)):e}],transformResponse:[function(e){const t=In(this,"transitional")||Fr.transitional,n=t&&t.forcedJSONParsing,r=In(this,"responseType"),o=r==="json";if(C.isResponse(e)||C.isReadableStream(e))return e;if(e&&C.isString(e)&&(n&&!r||o)){const s=!(t&&t.silentJSONParsing)&&o;try{return JSON.parse(e,In(this,"parseReviver"))}catch(i){if(s)throw i.name==="SyntaxError"?G.from(i,G.ERR_BAD_RESPONSE,this,null,In(this,"response")):i}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Xe.classes.FormData,Blob:Xe.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};C.forEach(["delete","get","head","post","put","patch","query"],e=>{Fr.headers[e]={}});function Cs(e,t){const n=this||Fr,r=t||n,o=lt.from(r.headers);let s=r.data;return C.forEach(e,function(i){s=i.call(n,s,o.normalize(),t?t.status:void 0)}),o.normalize(),s}function dc(e){return!!(e&&e.__CANCEL__)}let Lr=class extends G{constructor(e,t,n){super(e??"canceled",G.ERR_CANCELED,t,n),this.name="CanceledError",this.__CANCEL__=!0}};function hc(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new G("Request failed with status code "+n.status,n.status>=400&&n.status<500?G.ERR_BAD_REQUEST:G.ERR_BAD_RESPONSE,n.config,n.request,n))}function y4(e){const t=/^([-+\w]{1,25}):(?:\/\/)?/.exec(e);return t&&t[1]||""}function b4(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o=0,s=0,i;return t=t!==void 0?t:1e3,function(f){const c=Date.now(),d=r[s];i||(i=c),n[o]=f,r[o]=c;let a=s,v=0;for(;a!==o;)v+=n[a++],a=a%e;if(o=(o+1)%e,o===s&&(s=(s+1)%e),c-i{n=c,o=null,s&&(clearTimeout(s),s=null),e(...f)};return[(...f)=>{const c=Date.now(),d=c-n;d>=r?i(f,c):(o=f,s||(s=setTimeout(()=>{s=null,i(o)},r-d)))},()=>o&&i(o)]}const vo=(e,t,n=3)=>{let r=0;const o=b4(50,250);return w4(s=>{if(!s||typeof s.loaded!="number")return;const i=s.loaded,f=s.lengthComputable?s.total:void 0,c=f!=null?Math.min(i,f):i,d=Math.max(0,c-r),a=o(d);r=Math.max(r,c);const v={loaded:c,total:f,progress:f?c/f:void 0,bytes:d,rate:a||void 0,estimated:a&&f?(f-c)/a:void 0,event:s,lengthComputable:f!=null,[t?"download":"upload"]:!0};e(v)},n)},sa=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},ua=e=>(...t)=>C.asap(()=>e(...t)),C4=Xe.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Xe.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Xe.origin),Xe.navigator&&/(msie|trident)/i.test(Xe.navigator.userAgent)):()=>!0,A4=Xe.hasStandardBrowserEnv?{write(e,t,n,r,o,s,i){if(typeof document>"u")return;const f=[`${e}=${encodeURIComponent(t)}`];C.isNumber(n)&&f.push(`expires=${new Date(n).toUTCString()}`),C.isString(r)&&f.push(`path=${r}`),C.isString(o)&&f.push(`domain=${o}`),s===!0&&f.push("secure"),C.isString(i)&&f.push(`SameSite=${i}`),document.cookie=f.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.split(";");for(let n=0;ne instanceof lt?{...e}:e;function _n(e,t){t=t||{};const n=Object.create(null);Object.defineProperty(n,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(d,a,v,b){return C.isPlainObject(d)&&C.isPlainObject(a)?C.merge.call({caseless:b},d,a):C.isPlainObject(a)?C.merge({},a):C.isArray(a)?a.slice():a}function o(d,a,v,b){if(C.isUndefined(a)){if(!C.isUndefined(d))return r(void 0,d,v,b)}else return r(d,a,v,b)}function s(d,a){if(!C.isUndefined(a))return r(void 0,a)}function i(d,a){if(C.isUndefined(a)){if(!C.isUndefined(d))return r(void 0,d)}else return r(void 0,a)}function f(d,a,v){if(C.hasOwnProp(t,v))return r(d,a);if(C.hasOwnProp(e,v))return r(void 0,d)}const c={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,allowedSocketPaths:i,responseEncoding:i,validateStatus:f,headers:(d,a,v)=>o(ia(d),ia(a),v,!0)};return C.forEach(Object.keys({...e,...t}),function(d){if(d==="__proto__"||d==="constructor"||d==="prototype")return;const a=C.hasOwnProp(c,d)?c[d]:o,v=C.hasOwnProp(e,d)?e[d]:void 0,b=C.hasOwnProp(t,d)?t[d]:void 0,A=a(v,b,d);C.isUndefined(A)&&a!==f||(n[d]=A)}),n}const _4=["content-type","content-length"];function D4(e,t,n){if(n!=="content-only"){e.set(t);return}Object.entries(t).forEach(([r,o])=>{_4.includes(r.toLowerCase())&&e.set(r,o)})}const B4=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16)));function vc(e){const t=_n({},e),n=b=>C.hasOwnProp(t,b)?t[b]:void 0,r=n("data");let o=n("withXSRFToken");const s=n("xsrfHeaderName"),i=n("xsrfCookieName");let f=n("headers");const c=n("auth"),d=n("baseURL"),a=n("allowAbsoluteUrls"),v=n("url");if(t.headers=f=lt.from(f),t.url=fc(gc(d,v,a),n("params"),n("paramsSerializer")),c&&f.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?B4(c.password):""))),C.isFormData(r)&&(Xe.hasStandardBrowserEnv||Xe.hasStandardBrowserWebWorkerEnv||C.isReactNative(r)?f.setContentType(void 0):C.isFunction(r.getHeaders)&&D4(f,r.getHeaders(),n("formDataHeaderPolicy"))),Xe.hasStandardBrowserEnv&&(C.isFunction(o)&&(o=o(t)),o===!0||o==null&&C4(t.url))){const b=s&&i&&A4.read(i);b&&f.set(s,b)}return t}const T4=typeof XMLHttpRequest<"u",O4=T4&&function(e){return new Promise(function(t,n){const r=vc(e);let o=r.data;const s=lt.from(r.headers).normalize();let{responseType:i,onUploadProgress:f,onDownloadProgress:c}=r,d,a,v,b,A;function P(){b&&b(),A&&A(),r.cancelToken&&r.cancelToken.unsubscribe(d),r.signal&&r.signal.removeEventListener("abort",d)}let E=new XMLHttpRequest;E.open(r.method.toUpperCase(),r.url,!0),E.timeout=r.timeout;function M(){if(!E)return;const R=lt.from("getAllResponseHeaders"in E&&E.getAllResponseHeaders()),z={data:!i||i==="text"||i==="json"?E.responseText:E.response,status:E.status,statusText:E.statusText,headers:R,config:e,request:E};hc(function(N){t(N),P()},function(N){n(N),P()},z),E=null}"onloadend"in E?E.onloadend=M:E.onreadystatechange=function(){!E||E.readyState!==4||E.status===0&&!(E.responseURL&&E.responseURL.startsWith("file:"))||setTimeout(M)},E.onabort=function(){E&&(n(new G("Request aborted",G.ECONNABORTED,e,E)),P(),E=null)},E.onerror=function(R){const z=R&&R.message?R.message:"Network Error",N=new G(z,G.ERR_NETWORK,e,E);N.event=R||null,n(N),P(),E=null},E.ontimeout=function(){let R=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const z=r.transitional||Su;r.timeoutErrorMessage&&(R=r.timeoutErrorMessage),n(new G(R,z.clarifyTimeoutError?G.ETIMEDOUT:G.ECONNABORTED,e,E)),P(),E=null},o===void 0&&s.setContentType(null),"setRequestHeader"in E&&C.forEach(ac(s),function(R,z){E.setRequestHeader(z,R)}),C.isUndefined(r.withCredentials)||(E.withCredentials=!!r.withCredentials),i&&i!=="json"&&(E.responseType=r.responseType),c&&([v,A]=vo(c,!0),E.addEventListener("progress",v)),f&&E.upload&&([a,b]=vo(f),E.upload.addEventListener("progress",a),E.upload.addEventListener("loadend",b)),(r.cancelToken||r.signal)&&(d=R=>{E&&(n(!R||R.type?new Lr(null,e,E):R),E.abort(),P(),E=null)},r.cancelToken&&r.cancelToken.subscribe(d),r.signal&&(r.signal.aborted?d():r.signal.addEventListener("abort",d)));const T=y4(r.url);if(T&&!Xe.protocols.includes(T)){n(new G("Unsupported protocol "+T+":",G.ERR_BAD_REQUEST,e));return}E.send(o||null)})},R4=(e,t)=>{if(e=e?e.filter(Boolean):[],!t&&!e.length)return;const n=new AbortController;let r=!1;const o=function(c){if(!r){r=!0,i();const d=c instanceof Error?c:this.reason;n.abort(d instanceof G?d:new Lr(d instanceof Error?d.message:d))}};let s=t&&setTimeout(()=>{s=null,o(new G(`timeout of ${t}ms exceeded`,G.ETIMEDOUT))},t);const i=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(o):c.removeEventListener("abort",o)}),e=null)};e.forEach(c=>c.addEventListener("abort",o));const{signal:f}=n;return f.unsubscribe=()=>C.asap(i),f},k4=function*(e,t){let n=e.byteLength;if(n{const o=N4(e,t);let s=0,i,f=c=>{i||(i=!0,r&&r(c))};return new ReadableStream({async pull(c){try{const{done:d,value:a}=await o.next();if(d){f(),c.close();return}let v=a.byteLength;if(n){let b=s+=v;n(b)}c.enqueue(new Uint8Array(a))}catch(d){throw f(d),d}},cancel(c){return f(c),o.return()}},{highWaterMark:2})};function L4(e){if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;const t=e.indexOf(",");if(t<0)return 0;const n=e.slice(5,t),r=e.slice(t+1);if(/;base64/i.test(n)){let s=r.length;const i=r.length;for(let v=0;v=48&&b<=57||b>=65&&b<=70||b>=97&&b<=102)&&(A>=48&&A<=57||A>=65&&A<=70||A>=97&&A<=102)&&(s-=2,v+=2)}let f=0,c=i-1;const d=v=>v>=2&&r.charCodeAt(v-2)===37&&r.charCodeAt(v-1)===51&&(r.charCodeAt(v)===68||r.charCodeAt(v)===100);c>=0&&(r.charCodeAt(c)===61?(f++,c--):d(c)&&(f++,c-=3)),f===1&&c>=0&&(r.charCodeAt(c)===61||d(c))&&f++;const a=Math.floor(s/4)*3-(f||0);return a>0?a:0}if(typeof Yr<"u"&&typeof Yr.byteLength=="function")return Yr.byteLength(r,"utf8");let o=0;for(let s=0,i=r.length;s=55296&&f<=56319&&s+1=56320&&c<=57343?(o+=4,s++):o+=3}else o+=3}return o}const Du="1.17.0",la=64*1024,{isFunction:Hr}=C,P4=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16))),ca=e=>{if(!C.isString(e))return e;try{return decodeURIComponent(e)}catch{return e}},fa=(e,...t)=>{try{return!!e(...t)}catch{return!1}},I4=e=>{const t=e.indexOf("://");let n=e;return t!==-1&&(n=n.slice(t+3)),n.includes("@")||n.includes(":")},j4=e=>{const t=C.global!==void 0&&C.global!==null?C.global:globalThis,{ReadableStream:n,TextEncoder:r}=t;e=C.merge.call({skipUndefined:!0},{Request:t.Request,Response:t.Response},e);const{fetch:o,Request:s,Response:i}=e,f=o?Hr(o):typeof fetch=="function",c=Hr(s),d=Hr(i);if(!f)return!1;const a=f&&Hr(n),v=f&&(typeof r=="function"?(T=>R=>T.encode(R))(new r):async T=>new Uint8Array(await new s(T).arrayBuffer())),b=c&&a&&fa(()=>{let T=!1;const R=new s(Xe.origin,{body:new n,method:"POST",get duplex(){return T=!0,"half"}}),z=R.headers.has("Content-Type");return R.body!=null&&R.body.cancel(),T&&!z}),A=d&&a&&fa(()=>C.isReadableStream(new i("").body)),P={stream:A&&(T=>T.body)};f&&["text","arrayBuffer","blob","formData","stream"].forEach(T=>{!P[T]&&(P[T]=(R,z)=>{let N=R&&R[T];if(N)return N.call(R);throw new G(`Response type '${T}' is not supported`,G.ERR_NOT_SUPPORT,z)})});const E=async T=>{if(T==null)return 0;if(C.isBlob(T))return T.size;if(C.isSpecCompliantForm(T))return(await new s(Xe.origin,{method:"POST",body:T}).arrayBuffer()).byteLength;if(C.isArrayBufferView(T)||C.isArrayBuffer(T))return T.byteLength;if(C.isURLSearchParams(T)&&(T=T+""),C.isString(T))return(await v(T)).byteLength},M=async(T,R)=>C.toFiniteNumber(T.getContentLength())??E(R);return async T=>{let{url:R,method:z,data:N,signal:re,cancelToken:ae,timeout:Oe,onDownloadProgress:Ce,onUploadProgress:X,responseType:Q,headers:oe,withCredentials:H="same-origin",fetchOptions:ge,maxContentLength:ve,maxBodyLength:Ae}=vc(T);const K=C.isNumber(ve)&&ve>-1,le=C.isNumber(Ae)&&Ae>-1,$e=Y=>C.hasOwnProp(T,Y)?T[Y]:void 0;let mt=o||fetch;Q=Q?(Q+"").toLowerCase():"text";let Ve=R4([re,ae&&ae.toAbortSignal()],Oe),Re=null;const je=Ve&&Ve.unsubscribe&&(()=>{Ve.unsubscribe()});let Ft;try{let Y;const xe=$e("auth");if(xe){const g=xe.username||"",y=xe.password||"";Y={username:g,password:y}}if(I4(R)){const g=new URL(R,Xe.origin);if(!Y&&(g.username||g.password)){const y=ca(g.username),x=ca(g.password);Y={username:y,password:x}}(g.username||g.password)&&(g.username="",g.password="",R=g.href)}if(Y&&(oe.delete("authorization"),oe.set("Authorization","Basic "+btoa(P4((Y.username||"")+":"+(Y.password||""))))),K&&typeof R=="string"&&R.startsWith("data:")&&L4(R)>ve)throw new G("maxContentLength size of "+ve+" exceeded",G.ERR_BAD_RESPONSE,T,Re);if(le&&z!=="get"&&z!=="head"){const g=await M(oe,N);if(typeof g=="number"&&isFinite(g)&&g>Ae)throw new G("Request body larger than maxBodyLength limit",G.ERR_BAD_REQUEST,T,Re)}if(X&&b&&z!=="get"&&z!=="head"&&(Ft=await M(oe,N))!==0){let g=new s(R,{method:"POST",body:N,duplex:"half"}),y;if(C.isFormData(N)&&(y=g.headers.get("content-type"))&&oe.setContentType(y),g.body){const[x,O]=sa(Ft,vo(ua(X)));N=aa(g.body,la,x,O)}}C.isString(H)||(H=H?"include":"omit");const pe=c&&"credentials"in s.prototype;if(C.isFormData(N)){const g=oe.getContentType();g&&/^multipart\/form-data/i.test(g)&&!/boundary=/i.test(g)&&oe.delete("content-type")}oe.set("User-Agent","axios/"+Du,!1);const ft={...ge,signal:Ve,method:z.toUpperCase(),headers:ac(oe.normalize()),body:N,duplex:"half",credentials:pe?H:void 0};Re=c&&new s(R,ft);let ue=await(c?mt(Re,ge):mt(R,ft));if(K){const g=C.toFiniteNumber(ue.headers.get("content-length"));if(g!=null&&g>ve)throw new G("maxContentLength size of "+ve+" exceeded",G.ERR_BAD_RESPONSE,T,Re)}const Et=A&&(Q==="stream"||Q==="response");if(A&&ue.body&&(Ce||K||Et&&je)){const g={};["status","statusText","headers"].forEach(j=>{g[j]=ue[j]});const y=C.toFiniteNumber(ue.headers.get("content-length")),[x,O]=Ce&&sa(y,vo(ua(Ce),!0))||[];let D=0;const _=j=>{if(K&&(D=j,D>ve))throw new G("maxContentLength size of "+ve+" exceeded",G.ERR_BAD_RESPONSE,T,Re);x&&x(j)};ue=new i(aa(ue.body,la,_,()=>{O&&O(),je&&je()}),g)}Q=Q||"text";let se=await P[C.findKey(P,Q)||"text"](ue,T);if(K&&!A&&!Et){let g;if(se!=null&&(typeof se.byteLength=="number"?g=se.byteLength:typeof se.size=="number"?g=se.size:typeof se=="string"&&(g=typeof r=="function"?new r().encode(se).byteLength:se.length)),typeof g=="number"&&g>ve)throw new G("maxContentLength size of "+ve+" exceeded",G.ERR_BAD_RESPONSE,T,Re)}return!Et&&je&&je(),await new Promise((g,y)=>{hc(g,y,{data:se,headers:lt.from(ue.headers),status:ue.status,statusText:ue.statusText,config:T,request:Re})})}catch(Y){if(je&&je(),Ve&&Ve.aborted&&Ve.reason instanceof G){const xe=Ve.reason;throw xe.config=T,Re&&(xe.request=Re),Y!==xe&&(xe.cause=Y),xe}throw Y&&Y.name==="TypeError"&&/Load failed|fetch/i.test(Y.message)?Object.assign(new G("Network Error",G.ERR_NETWORK,T,Re,Y&&Y.response),{cause:Y.cause||Y}):G.from(Y,Y&&Y.code,T,Re,Y&&Y.response)}}},U4=new Map,mc=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:o}=t,s=[r,o,n];let i=s.length,f=i,c,d,a=U4;for(;f--;)c=s[f],d=a.get(c),d===void 0&&a.set(c,d=f?new Map:j4(t)),a=d;return d};mc();const Bu={http:r4,xhr:O4,fetch:{get:mc}};C.forEach(Bu,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{__proto__:null,value:t})}catch{}Object.defineProperty(e,"adapterName",{__proto__:null,value:t})}});const pa=e=>`- ${e}`,M4=e=>C.isFunction(e)||e===null||e===!1;function z4(e,t){e=C.isArray(e)?e:[e];const{length:n}=e;let r,o;const s={};for(let i=0;i`adapter ${c} `+(d===!1?"is not supported by the environment":"is not available in the build"));let f=n?i.length>1?`since : +`+i.map(pa).join(` +`):" "+pa(i[0]):"as no adapter specified";throw new G("There is no suitable adapter to dispatch the request "+f,"ERR_NOT_SUPPORT")}return o}const Ec={getAdapter:z4,adapters:Bu};function As(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Lr(null,e)}function da(e){return As(e),e.headers=lt.from(e.headers),e.data=Cs.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Ec.getAdapter(e.adapter||Fr.adapter,e)(e).then(function(t){As(e),e.response=t;try{t.data=Cs.call(e,e.transformResponse,t)}finally{delete e.response}return t.headers=lt.from(t.headers),t},function(t){if(!dc(t)&&(As(e),t&&t.response)){e.response=t.response;try{t.response.data=Cs.call(e,e.transformResponse,t.response)}finally{delete e.response}t.response.headers=lt.from(t.response.headers)}return Promise.reject(t)})}const mo={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{mo[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});const ha={};mo.transitional=function(e,t,n){function r(o,s){return"[Axios v"+Du+"] Transitional option '"+o+"'"+s+(n?". "+n:"")}return(o,s,i)=>{if(e===!1)throw new G(r(s," has been removed"+(t?" in "+t:"")),G.ERR_DEPRECATED);return t&&!ha[s]&&(ha[s]=!0,console.warn(r(s," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(o,s,i):!0}},mo.spelling=function(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};function $4(e,t,n){if(typeof e!="object")throw new G("options must be an object",G.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const s=r[o],i=Object.prototype.hasOwnProperty.call(t,s)?t[s]:void 0;if(i){const f=e[s],c=f===void 0||i(f,s,e);if(c!==!0)throw new G("option "+s+" must be "+c,G.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new G("Unknown option "+s,G.ERR_BAD_OPTION)}}const to={assertOptions:$4,validators:mo},pt=to.validators;let xn=class{constructor(e){this.defaults=e||{},this.interceptors={request:new oa,response:new oa}}async request(e,t){try{return await this._request(e,t)}catch(n){if(n instanceof Error){let r={};Error.captureStackTrace?Error.captureStackTrace(r):r=new Error;const o=(()=>{if(!r.stack)return"";const s=r.stack.indexOf(` +`);return s===-1?"":r.stack.slice(s+1)})();try{if(!n.stack)n.stack=o;else if(o){const s=o.indexOf(` +`),i=s===-1?-1:o.indexOf(` +`,s+1),f=i===-1?"":o.slice(i+1);String(n.stack).endsWith(f)||(n.stack+=` +`+o)}}catch{}}throw n}}_request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=_n(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;n!==void 0&&to.assertOptions(n,{silentJSONParsing:pt.transitional(pt.boolean),forcedJSONParsing:pt.transitional(pt.boolean),clarifyTimeoutError:pt.transitional(pt.boolean),legacyInterceptorReqResOrdering:pt.transitional(pt.boolean),advertiseZstdAcceptEncoding:pt.transitional(pt.boolean)},!1),r!=null&&(C.isFunction(r)?t.paramsSerializer={serialize:r}:to.assertOptions(r,{encode:pt.function,serialize:pt.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),to.assertOptions(t,{baseUrl:pt.spelling("baseURL"),withXsrfToken:pt.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let s=o&&C.merge(o.common,o[t.method]);o&&C.forEach(["delete","get","head","post","put","patch","query","common"],A=>{delete o[A]}),t.headers=lt.concat(s,o);const i=[];let f=!0;this.interceptors.request.forEach(function(A){if(typeof A.runWhen=="function"&&A.runWhen(t)===!1)return;f=f&&A.synchronous;const P=t.transitional||Su;P&&P.legacyInterceptorReqResOrdering?i.unshift(A.fulfilled,A.rejected):i.push(A.fulfilled,A.rejected)});const c=[];this.interceptors.response.forEach(function(A){c.push(A.fulfilled,A.rejected)});let d,a=0,v;if(!f){const A=[da.bind(this),void 0];for(A.unshift(...i),A.push(...c),v=A.length,d=Promise.resolve(t);a{if(!r._listeners)return;let s=r._listeners.length;for(;s-- >0;)r._listeners[s](o);r._listeners=null}),this.promise.then=o=>{let s;const i=new Promise(f=>{r.subscribe(f),s=f}).then(o);return i.cancel=function(){r.unsubscribe(s)},i},t(function(o,s,i){r.reason||(r.reason=new Lr(o,s,i),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new yc(function(n){t=n}),cancel:t}}};function V4(e){return function(t){return e.apply(null,t)}}function G4(e){return C.isObject(e)&&e.isAxiosError===!0}const Js={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Js).forEach(([e,t])=>{Js[t]=e});function bc(e){const t=new xn(e),n=ec(xn.prototype.request,t);return C.extend(n,xn.prototype,t,{allOwnKeys:!0}),C.extend(n,t,null,{allOwnKeys:!0}),n.create=function(r){return bc(_n(e,r))},n}const Ne=bc(Fr);Ne.Axios=xn,Ne.CanceledError=Lr,Ne.CancelToken=H4,Ne.isCancel=dc,Ne.VERSION=Du,Ne.toFormData=Uo,Ne.AxiosError=G,Ne.Cancel=Ne.CanceledError,Ne.all=function(e){return Promise.all(e)},Ne.spread=V4,Ne.isAxiosError=G4,Ne.mergeConfig=_n,Ne.AxiosHeaders=lt,Ne.formToJSON=e=>pc(C.isHTMLForm(e)?new FormData(e):e),Ne.getAdapter=Ec.getAdapter,Ne.HttpStatusCode=Js,Ne.default=Ne;const{Axios:Pg,AxiosError:Ig,CanceledError:jg,isCancel:Ug,CancelToken:Mg,VERSION:zg,all:$g,Cancel:Hg,isAxiosError:Tu,spread:Vg,toFormData:Gg,AxiosHeaders:qg,HttpStatusCode:Wg,formToJSON:Xg,getAdapter:Kg,mergeConfig:Jg,create:Zg}=Ne;function q4(){const e=Ne.create({headers:{requesttoken:ld()??"","X-Requested-With":"XMLHttpRequest"}});return fd(t=>{e.defaults.headers.requesttoken=t}),Object.assign(e,{CancelToken:Ne.CancelToken,isCancel:Ne.isCancel})}const ga="_nextcloudCsrfTokenReloaded";function W4(e){return async t=>{if(!Tu(t))throw t;const{config:n,response:r,request:o}=t,s=o?.responseURL;if(n&&!(ga in n)&&r?.status===412&&r?.data?.message==="CSRF check failed"){console.warn(`Request to ${s} failed because of a CSRF mismatch. Fetching a new token.`);const i=await cd();return e.defaults.headers.requesttoken=i,e({...n,[ga]:!0,headers:{...n.headers,requesttoken:i}})}throw t}}const va="_nextcloudMaintenanceModeRetryDelay";function X4(e){return async t=>{if(!Tu(t))throw t;const{config:n,response:r,request:o}=t,s=o?.responseURL,i=r?.status,f=r?.headers;let c=n?.[va]??1;if(i===503&&f?.["x-nextcloud-maintenance-mode"]==="1"&&n?.retryIfMaintenanceMode){if(c*=2,c>32)throw console.error("Retry delay exceeded one minute, giving up.",{responseURL:s}),t;return console.warn(`Request to ${s} failed because of maintenance mode. Retrying in ${c}s`),await new Promise(d=>{setTimeout(d,c*1e3)}),e({...n,[va]:c})}throw t}}async function K4(e){if(Tu(e)){const{config:t,response:n,request:r}=e,o=r?.responseURL;n?.status===401&&n?.data?.message==="Current user is not logged in"&&t?.reloadExpiredSession&&globalThis.location?.reload&&(console.error(`Request to ${o} failed because the user session expired. Reloading the page …`),globalThis.OC?.reload?globalThis.OC.reload():globalThis.location.reload())}throw e}const ir=q4();ir.interceptors.response.use(e=>e,W4(ir)),ir.interceptors.response.use(e=>e,X4(ir)),ir.interceptors.response.use(e=>e,K4);function Yg(e,t=100,n={}){if(typeof e!="function")throw new TypeError(`Expected the first parameter to be a function, got \`${typeof e}\`.`);if(t<0)throw new RangeError("`wait` must not be negative.");if(typeof n=="boolean")throw new TypeError("The `options` parameter must be an object, not a boolean. Use `{immediate: true}` instead.");const{immediate:r}=n;let o,s,i,f,c;function d(){const b=o,A=s;return o=void 0,s=void 0,c=e.apply(b,A),c}function a(){const b=Date.now()-f;b=0?i=setTimeout(a,t-b):(i=void 0,r||(c=d()))}const v=function(...b){if(o&&this!==o&&Object.getPrototypeOf(this)===Object.getPrototypeOf(o))throw new Error("Debounced method called with different contexts of the same prototype.");o=this,s=b,f=Date.now();const A=r&&!i;if(i||(i=setTimeout(a,t)),A)return c=d(),c};return Object.defineProperty(v,"isPending",{get(){return i!==void 0}}),v.clear=()=>{i&&(clearTimeout(i),i=void 0,o=void 0,s=void 0)},v.flush=()=>{i&&v.trigger()},v.trigger=()=>{c=d(),v.clear()},v}var Ue=(e=>(e[e.Debug=0]="Debug",e[e.Info=1]="Info",e[e.Warn=2]="Warn",e[e.Error=3]="Error",e[e.Fatal=4]="Fatal",e))(Ue||{});class J4{context;constructor(t){this.context=t||{}}formatMessage(t,n,r){let o="["+Ue[n].toUpperCase()+"] ";return r&&r.app&&(o+=r.app+": "),typeof t=="string"?o+t:(o+=`Unexpected ${t.name}`,t.message&&(o+=` "${t.message}"`),n===Ue.Debug&&t.stack&&(o+=` + +Stack trace: +${t.stack}`),o)}log(t,n,r){if(!(typeof this.context?.level=="number"&&t{document.readyState==="complete"||document.readyState==="interactive"?(t.context.level=window._oc_config?.loglevel??Ue.Warn,window._oc_debug&&(t.context.level=Ue.Debug),document.removeEventListener("readystatechange",n)):document.addEventListener("readystatechange",n)};return n(),this}build(){return this.context.level===void 0&&this.detectLogLevel(),this.factory(this.context)}}function Q4(){return new Y4(Z4)}const Qg=Q4().detectUser().setApp("@nextcloud/vue").build();export{vg as $,Hd as A,Rg as B,ml as C,al as D,Wr as E,Yg as F,ir as G,eg as H,ys as I,Qg as J,xf as K,Ag as L,Cg as M,zn as N,Yi as O,Fs as P,og as Q,mg as R,l0 as S,Zs as T,kg as U,sg as V,ug as W,ag as X,ht as Y,Co as Z,wu as _,gt as a,ig as a0,tg as a1,ep as a2,ef as a3,Dg as a4,_g as a5,Ng as a6,Tg as a7,$d as a8,Q4 as a9,Cp as aa,An as ab,Sg as ac,pu as ad,qd as ae,fg as af,Af as ag,lg as ah,cg as ai,nf as aj,wp as ak,gg as al,dg as am,pg as an,lp as ao,Bg as ap,Og as aq,Tc as ar,hg as as,Qt as b,En as c,Bo as d,cr as e,Ye as f,xg as g,wg as h,Gs as i,bg as j,Lg as k,No as l,yg as m,Jn as n,He as o,Eg as p,ld as q,xr as r,xt as s,ro as t,it as u,Eu as v,Xn as w,Fg as x,Rd as y,Vr as z}; +//# sourceMappingURL=logger-D3RVzcfQ-CgMhrvdR.chunk.mjs.map diff --git a/js/logger-D3RVzcfQ-kM2LrXKi.chunk.mjs.map.license b/js/logger-D3RVzcfQ-CgMhrvdR.chunk.mjs.license similarity index 94% rename from js/logger-D3RVzcfQ-kM2LrXKi.chunk.mjs.map.license rename to js/logger-D3RVzcfQ-CgMhrvdR.chunk.mjs.license index eb6e60b0..852a6972 100644 --- a/js/logger-D3RVzcfQ-kM2LrXKi.chunk.mjs.map.license +++ b/js/logger-D3RVzcfQ-CgMhrvdR.chunk.mjs.license @@ -39,10 +39,10 @@ This file is generated from multiple sources. Included packages: - version: 3.1.0 - license: GPL-3.0-or-later - @nextcloud/vue - - version: 9.8.1 + - version: 9.8.2 - license: AGPL-3.0-or-later - @vitejs/plugin-vue - - version: 6.0.4 + - version: 6.0.7 - license: MIT - @vue/reactivity - version: 3.5.35 @@ -57,22 +57,22 @@ This file is generated from multiple sources. Included packages: - version: 3.5.35 - license: MIT - axios - - version: 1.16.0 + - version: 1.17.0 - license: MIT - debounce - version: 3.0.0 - license: MIT - dompurify - - version: 3.4.7 + - version: 3.4.8 - license: (MPL-2.0 OR Apache-2.0) - escape-html - version: 1.0.3 - license: MIT - semver - - version: 7.7.4 + - version: 7.8.1 - license: ISC - vite - - version: 7.3.2 + - version: 7.3.5 - license: MIT - vite-plugin-node-polyfills - version: 0.24.0 diff --git a/js/logger-D3RVzcfQ-CgMhrvdR.chunk.mjs.map b/js/logger-D3RVzcfQ-CgMhrvdR.chunk.mjs.map new file mode 100644 index 00000000..b7561f57 --- /dev/null +++ b/js/logger-D3RVzcfQ-CgMhrvdR.chunk.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"logger-D3RVzcfQ-CgMhrvdR.chunk.mjs","sources":["../node_modules/@nextcloud/router/dist/index.mjs","../node_modules/dompurify/dist/purify.es.mjs","../node_modules/escape-html/index.js","../node_modules/@nextcloud/l10n/dist/chunks/translation-DoG5ZELJ.mjs","../node_modules/vite-plugin-node-polyfills/shims/global/dist/index.js","../node_modules/@vue/shared/dist/shared.esm-bundler.js","../node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../node_modules/vite-plugin-node-polyfills/shims/process/dist/index.js","../node_modules/semver/internal/debug.js","../node_modules/semver/internal/constants.js","../node_modules/semver/internal/re.js","../node_modules/semver/internal/parse-options.js","../node_modules/semver/internal/identifiers.js","../node_modules/semver/classes/semver.js","../node_modules/semver/functions/major.js","../node_modules/semver/functions/parse.js","../node_modules/semver/functions/valid.js","../node_modules/@nextcloud/event-bus/dist/index.mjs","../node_modules/@nextcloud/browser-storage/dist/ScopedStorage.js","../node_modules/@nextcloud/browser-storage/dist/StorageBuilder.js","../node_modules/@nextcloud/browser-storage/dist/index.js","../node_modules/@nextcloud/auth/dist/index.mjs","../node_modules/@nextcloud/initial-state/dist/index.js","../node_modules/vue-router/dist/useApi-s_02lHjl.js","../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js","../node_modules/@nextcloud/vue/dist/chunks/legacy-BoqDmOCa.mjs","../node_modules/@nextcloud/vue/dist/chunks/useNcFormBox-Djlh582y.mjs","../node_modules/@nextcloud/vue/dist/chunks/_plugin-vue_export-helper-1tPrXgE0.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcButton-QbPBynlU.mjs","../node_modules/@nextcloud/vue/dist/chunks/mdi-CpchYUUV.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcIconSvgWrapper-g8ubWhoz.mjs","../node_modules/@nextcloud/l10n/dist/gettext.mjs","../node_modules/@nextcloud/vue/dist/chunks/_l10n-CG4CuN3H.mjs","../node_modules/@nextcloud/vue/dist/chunks/createElementId-DhjFt1I9.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputField-B1bGxYHt.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcTextField.vue_vue_type_script_setup_true_lang-BQHjkK8r.mjs","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/sanitizeHeaderValue.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/index.js","../node_modules/@nextcloud/axios/dist/client.js","../node_modules/@nextcloud/axios/dist/interceptors/csrf-token.js","../node_modules/@nextcloud/axios/dist/interceptors/maintenance-mode.js","../node_modules/@nextcloud/axios/dist/interceptors/not-logged-in.js","../node_modules/@nextcloud/axios/dist/index.js","../node_modules/debounce/index.js","../node_modules/@nextcloud/logger/dist/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/logger-D3RVzcfQ.mjs"],"sourcesContent":["function linkTo(app, file) {\n return generateFilePath(app, \"\", file);\n}\nconst linkToRemoteBase = (service) => \"/remote.php/\" + service;\nconst generateRemoteUrl = (service, options) => {\n const baseURL = options?.baseURL ?? getBaseUrl();\n return baseURL + linkToRemoteBase(service);\n};\nconst generateOcsUrl = (url, params, options) => {\n const allOptions = Object.assign({\n ocsVersion: 2\n }, options || {});\n const version = allOptions.ocsVersion === 1 ? 1 : 2;\n const baseURL = options?.baseURL ?? getBaseUrl();\n return baseURL + \"/ocs/v\" + version + \".php\" + _generateUrlPath(url, params, options);\n};\nconst _generateUrlPath = (url, params, options) => {\n const allOptions = Object.assign({\n escape: true\n }, options || {});\n const _build = function(text, vars) {\n vars = vars || {};\n return text.replace(\n /{([^{}]*)}/g,\n function(a, b) {\n const r = vars[b];\n if (allOptions.escape) {\n return typeof r === \"string\" || typeof r === \"number\" ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n } else {\n return typeof r === \"string\" || typeof r === \"number\" ? r.toString() : a;\n }\n }\n );\n };\n if (url.charAt(0) !== \"/\") {\n url = \"/\" + url;\n }\n return _build(url, params || {});\n};\nconst generateUrl = (url, params, options) => {\n const allOptions = Object.assign({\n noRewrite: false\n }, options || {});\n const baseOrRootURL = options?.baseURL ?? getRootUrl();\n if (window?.OC?.config?.modRewriteWorking === true && !allOptions.noRewrite) {\n return baseOrRootURL + _generateUrlPath(url, params, options);\n }\n return baseOrRootURL + \"/index.php\" + _generateUrlPath(url, params, options);\n};\nconst imagePath = (app, file) => {\n if (!file.includes(\".\")) {\n return generateFilePath(app, \"img\", `${file}.svg`);\n }\n return generateFilePath(app, \"img\", file);\n};\nconst generateFilePath = (app, type, file) => {\n const isCore = window?.OC?.coreApps?.includes(app) ?? false;\n const isPHP = file.slice(-3) === \"php\";\n let link = getRootUrl();\n if (isPHP && !isCore) {\n link += `/index.php/apps/${app}`;\n if (type) {\n link += `/${encodeURI(type)}`;\n }\n if (file !== \"index.php\") {\n link += `/${file}`;\n }\n } else if (!isPHP && !isCore) {\n link = getAppRootUrl(app);\n if (type) {\n link += `/${type}/`;\n }\n if (link.at(-1) !== \"/\") {\n link += \"/\";\n }\n link += file;\n } else {\n if ((app === \"settings\" || app === \"core\" || app === \"search\") && type === \"ajax\") {\n link += \"/index.php\";\n }\n if (app) {\n link += `/${app}`;\n }\n if (type) {\n link += `/${type}`;\n }\n link += `/${file}`;\n }\n return link;\n};\nconst getBaseUrl = () => window.location.protocol + \"//\" + window.location.host + getRootUrl();\nfunction getRootUrl() {\n let webroot = window._oc_webroot;\n if (typeof webroot === \"undefined\") {\n webroot = location.pathname;\n const pos = webroot.indexOf(\"/index.php/\");\n if (pos !== -1) {\n webroot = webroot.slice(0, pos);\n } else {\n const index = webroot.indexOf(\"/\", 1);\n webroot = webroot.slice(0, index > 0 ? index : void 0);\n }\n }\n return webroot;\n}\nfunction getAppRootUrl(app) {\n const webroots = window._oc_appswebroots ?? {};\n return webroots[app] ?? \"\";\n}\n/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nfunction generateAvatarUrl(user, options) {\n const size = (options?.size || 64) <= 64 ? 64 : 512;\n const guestUrl = options?.isGuestUser ? \"/guest\" : \"\";\n const themeUrl = options?.isDarkTheme ? \"/dark\" : \"\";\n return generateUrl(`/avatar${guestUrl}/{user}/{size}${themeUrl}`, {\n user,\n size\n });\n}\nexport {\n generateAvatarUrl,\n generateFilePath,\n generateOcsUrl,\n generateRemoteUrl,\n generateUrl,\n getAppRootUrl,\n getBaseUrl,\n getRootUrl,\n imagePath,\n linkTo\n};\n//# sourceMappingURL=index.mjs.map\n","/*! @license DOMPurify 3.4.8 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.8/LICENSE */\n\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = true,\n o = false;\n try {\n if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = true, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _slicedToArray(r, e) {\n return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nconst entries = Object.entries,\n setPrototypeOf = Object.setPrototypeOf,\n isFrozen = Object.isFrozen,\n getPrototypeOf = Object.getPrototypeOf,\n getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nlet freeze = Object.freeze,\n seal = Object.seal,\n create = Object.create; // eslint-disable-line import/no-mutable-exports\nlet _ref = typeof Reflect !== 'undefined' && Reflect,\n apply = _ref.apply,\n construct = _ref.construct;\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\nif (!apply) {\n apply = function apply(func, thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n return func.apply(thisArg, args);\n };\n}\nif (!construct) {\n construct = function construct(Func) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n return new Func(...args);\n };\n}\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySplice = unapply(Array.prototype.splice);\nconst arrayIsArray = Array.isArray;\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst numberToString = unapply(Number.prototype.toString);\nconst booleanToString = unapply(Boolean.prototype.toString);\nconst bigintToString = typeof BigInt === 'undefined' ? null : unapply(BigInt.prototype.toString);\nconst symbolToString = typeof Symbol === 'undefined' ? null : unapply(Symbol.prototype.toString);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst objectToString = unapply(Object.prototype.toString);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param func - The function to be wrapped and called.\n * @returns A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return function (thisArg) {\n if (thisArg instanceof RegExp) {\n thisArg.lastIndex = 0;\n }\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n return apply(func, thisArg, args);\n };\n}\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(Func) {\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return construct(Func, args);\n };\n}\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(set, array) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n if (!arrayIsArray(array)) {\n return set;\n }\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set[element] = true;\n }\n return set;\n}\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n return array;\n}\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n for (const _ref2 of entries(object)) {\n var _ref3 = _slicedToArray(_ref2, 2);\n const property = _ref3[0];\n const value = _ref3[1];\n const isPropertyExist = objectHasOwnProperty(object, property);\n if (isPropertyExist) {\n if (arrayIsArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (value && typeof value === 'object' && value.constructor === Object) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n return newObject;\n}\n/**\n * Convert non-node values into strings without depending on direct property access.\n *\n * @param value - The value to stringify.\n * @returns A string representation of the provided value.\n */\nfunction stringifyValue(value) {\n switch (typeof value) {\n case 'string':\n {\n return value;\n }\n case 'number':\n {\n return numberToString(value);\n }\n case 'boolean':\n {\n return booleanToString(value);\n }\n case 'bigint':\n {\n return bigintToString ? bigintToString(value) : '0';\n }\n case 'symbol':\n {\n return symbolToString ? symbolToString(value) : 'Symbol()';\n }\n case 'undefined':\n {\n return objectToString(value);\n }\n case 'function':\n case 'object':\n {\n if (value === null) {\n return objectToString(value);\n }\n const valueAsRecord = value;\n const valueToString = lookupGetter(valueAsRecord, 'toString');\n if (typeof valueToString === 'function') {\n const stringified = valueToString(valueAsRecord);\n return typeof stringified === 'string' ? stringified : objectToString(stringified);\n }\n return objectToString(value);\n }\n default:\n {\n return objectToString(value);\n }\n }\n}\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n object = getPrototypeOf(object);\n }\n function fallbackValue() {\n return null;\n }\n return fallbackValue;\n}\nfunction isRegex(value) {\n try {\n regExpTest(value, '');\n return true;\n } catch (_unused) {\n return false;\n }\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'search', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'command', 'commandfor', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnalign', 'columnlines', 'columnspacing', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lquote', 'lspace', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\nconst MUSTACHE_EXPR = seal(/{{[\\w\\W]*|^[\\w\\W]*}}/g);\nconst ERB_EXPR = seal(/<%[\\w\\W]*|^[\\w\\W]*%>/g);\nconst TMPLIT_EXPR = seal(/\\${[\\w\\W]*/g);\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n\n/* eslint-disable @typescript-eslint/indent */\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n progressingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12 // Deprecated\n};\nconst getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\nconst _createHooksMap = function _createHooksMap() {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: []\n };\n};\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n const DOMPurify = root => createDOMPurify(root);\n DOMPurify.version = '3.4.8';\n DOMPurify.removed = [];\n if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let document = window.document;\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n window.DocumentFragment;\n const HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\n Element = window.Element,\n NodeFilter = window.NodeFilter,\n _window$NamedNodeMap = window.NamedNodeMap;\n _window$NamedNodeMap === void 0 ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap;\n window.HTMLFormElement;\n const DOMParser = window.DOMParser,\n trustedTypes = window.trustedTypes;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n const getShadowRoot = lookupGetter(ElementPrototype, 'shadowRoot');\n const getAttributes = lookupGetter(ElementPrototype, 'attributes');\n const getNodeType = Node && Node.prototype ? lookupGetter(Node.prototype, 'nodeType') : null;\n const getNodeName = Node && Node.prototype ? lookupGetter(Node.prototype, 'nodeName') : null;\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = '';\n // Tracks whether we are already inside a call to the configured Trusted Types\n // policy's `createHTML`. If the supplied `TRUSTED_TYPES_POLICY.createHTML`\n // itself calls `DOMPurify.sanitize` (the cause of #1422), `sanitize` would\n // re-enter the policy and recurse until the stack overflows. We detect that\n // re-entry and throw a clear, actionable error instead.\n let IN_POLICY_CREATE_HTML = 0;\n const _createTrustedHTML = function _createTrustedHTML(html) {\n if (IN_POLICY_CREATE_HTML > 0) {\n throw typeErrorCreate('The configured TRUSTED_TYPES_POLICY.createHTML must not call ' + 'DOMPurify.sanitize, as that causes infinite recursion. Do not pass ' + 'a policy whose createHTML wraps DOMPurify as TRUSTED_TYPES_POLICY; ' + 'see the \"DOMPurify and Trusted Types\" section of the README.');\n }\n IN_POLICY_CREATE_HTML++;\n try {\n return trustedTypesPolicy.createHTML(html);\n } finally {\n IN_POLICY_CREATE_HTML--;\n }\n };\n const _document = document,\n implementation = _document.implementation,\n createNodeIterator = _document.createNodeIterator,\n createDocumentFragment = _document.createDocumentFragment,\n getElementsByTagName = _document.getElementsByTagName;\n const importNode = originalDocument.importNode;\n let hooks = _createHooksMap();\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n const MUSTACHE_EXPR$1 = MUSTACHE_EXPR,\n ERB_EXPR$1 = ERB_EXPR,\n TMPLIT_EXPR$1 = TMPLIT_EXPR,\n DATA_ATTR$1 = DATA_ATTR,\n ARIA_ATTR$1 = ARIA_ATTR,\n IS_SCRIPT_OR_DATA$1 = IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE$1 = ATTR_WHITESPACE,\n CUSTOM_ELEMENT$1 = CUSTOM_ELEMENT;\n let IS_ALLOWED_URI$1 = IS_ALLOWED_URI;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n /*\n * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n /* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */\n const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {\n tagCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n }\n }));\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n /* Decide if document with ... should be returned */\n let WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n const formElement = document.createElement('form');\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function _parseConfig() {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') && arrayIsArray(cfg.ALLOWED_TAGS) ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') && arrayIsArray(cfg.ALLOWED_ATTR) ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') && arrayIsArray(cfg.ALLOWED_NAMESPACES) ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') && arrayIsArray(cfg.ADD_URI_SAFE_ATTR) ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') && arrayIsArray(cfg.ADD_DATA_URI_TAGS) ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') && arrayIsArray(cfg.FORBID_CONTENTS) ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') && arrayIsArray(cfg.FORBID_TAGS) ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : clone({});\n FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') && arrayIsArray(cfg.FORBID_ATTR) ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : clone({});\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES && typeof cfg.USE_PROFILES === 'object' ? clone(cfg.USE_PROFILES) : cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$1 = isRegex(cfg.ALLOWED_URI_REGEXP) ? cfg.ALLOWED_URI_REGEXP : IS_ALLOWED_URI; // Default regexp\n NAMESPACE = typeof cfg.NAMESPACE === 'string' ? cfg.NAMESPACE : HTML_NAMESPACE; // Default HTML namespace\n MATHML_TEXT_INTEGRATION_POINTS = objectHasOwnProperty(cfg, 'MATHML_TEXT_INTEGRATION_POINTS') && cfg.MATHML_TEXT_INTEGRATION_POINTS && typeof cfg.MATHML_TEXT_INTEGRATION_POINTS === 'object' ? clone(cfg.MATHML_TEXT_INTEGRATION_POINTS) : addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']); // Default built-in map\n HTML_INTEGRATION_POINTS = objectHasOwnProperty(cfg, 'HTML_INTEGRATION_POINTS') && cfg.HTML_INTEGRATION_POINTS && typeof cfg.HTML_INTEGRATION_POINTS === 'object' ? clone(cfg.HTML_INTEGRATION_POINTS) : addToSet({}, ['annotation-xml']); // Default built-in map\n const customElementHandling = objectHasOwnProperty(cfg, 'CUSTOM_ELEMENT_HANDLING') && cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING === 'object' ? clone(cfg.CUSTOM_ELEMENT_HANDLING) : create(null);\n CUSTOM_ELEMENT_HANDLING = create(null);\n if (objectHasOwnProperty(customElementHandling, 'tagNameCheck') && isRegexOrFunction(customElementHandling.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = customElementHandling.tagNameCheck; // Default undefined\n }\n if (objectHasOwnProperty(customElementHandling, 'attributeNameCheck') && isRegexOrFunction(customElementHandling.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = customElementHandling.attributeNameCheck; // Default undefined\n }\n if (objectHasOwnProperty(customElementHandling, 'allowCustomizedBuiltInElements') && typeof customElementHandling.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = customElementHandling.allowCustomizedBuiltInElements; // Default undefined\n }\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, text);\n ALLOWED_ATTR = create(null);\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Always reset function-based ADD_TAGS / ADD_ATTR checks to prevent\n * leaking across calls when switching from function to array config */\n EXTRA_ELEMENT_HANDLING.tagCheck = null;\n EXTRA_ELEMENT_HANDLING.attributeCheck = null;\n /* Merge configuration parameters */\n if (objectHasOwnProperty(cfg, 'ADD_TAGS')) {\n if (typeof cfg.ADD_TAGS === 'function') {\n EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;\n } else if (arrayIsArray(cfg.ADD_TAGS)) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n }\n if (objectHasOwnProperty(cfg, 'ADD_ATTR')) {\n if (typeof cfg.ADD_ATTR === 'function') {\n EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;\n } else if (arrayIsArray(cfg.ADD_ATTR)) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n }\n if (objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') && arrayIsArray(cfg.ADD_URI_SAFE_ATTR)) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n if (objectHasOwnProperty(cfg, 'FORBID_CONTENTS') && arrayIsArray(cfg.FORBID_CONTENTS)) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n if (objectHasOwnProperty(cfg, 'ADD_FORBID_CONTENTS') && arrayIsArray(cfg.ADD_FORBID_CONTENTS)) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n }\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n }\n // Overwrite existing TrustedTypes policy.\n const previousTrustedTypesPolicy = trustedTypesPolicy;\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n // Sign local variables required by `sanitize`. If the supplied policy's\n // `createHTML` is circular (i.e. it calls `DOMPurify.sanitize`), this\n // throws via the re-entrancy guard. Restore the previous policy first so\n // the instance is not left in a poisoned state. See #1422.\n try {\n emptyHTML = _createTrustedHTML('');\n } catch (error) {\n trustedTypesPolicy = previousTrustedTypesPolicy;\n throw error;\n }\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined && cfg.TRUSTED_TYPES_POLICY !== null) {\n trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n }\n // If creating the internal policy succeeded sign internal variables.\n // Note: a falsy `trustedTypesPolicy` (null when policy creation failed or\n // was skipped via `TRUSTED_TYPES_POLICY: null`, or undefined when no\n // policy has been initialized yet) must be excluded here, otherwise we\n // would call `.createHTML` on a non-policy and throw. See #1422.\n if (trustedTypesPolicy && typeof emptyHTML === 'string') {\n emptyHTML = _createTrustedHTML('');\n }\n }\n /*\n * Mirror the clone-before-mutate pattern already applied above for\n * cfg.ADD_TAGS / cfg.ADD_ATTR: if any uponSanitize* hook is\n * registered AND the set still points at the default constant,\n * clone it. The hook then mutates the clone (in-call widening\n * still works exactly as documented) and the next default-cfg\n * call rebinds to the untouched original via the reassignment at\n * the top of this function.\n */\n if ((hooks.uponSanitizeElement.length > 0 || hooks.uponSanitizeAttribute.length > 0) && ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n if (hooks.uponSanitizeAttribute.length > 0 && ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n CONFIG = cfg;\n };\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n /**\n * @param element a DOM element whose namespace is being checked\n * @returns Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element);\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n // The only way to switch from SVG to MathML is via\n // and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n // For XHTML and XML documents that support custom namespaces\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n }\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n /**\n * _forceRemove\n *\n * @param node a DOM node\n */\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n getParentNode(node).removeChild(node);\n } catch (_) {\n remove(node);\n }\n };\n /**\n * _removeAttribute\n *\n * @param name an Attribute name\n * @param element a DOM node\n */\n const _removeAttribute = function _removeAttribute(name, element) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: element.getAttributeNode(name),\n from: element\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: element\n });\n }\n element.removeAttribute(name);\n // We void attribute values for unremovable \"is\" attributes\n if (name === 'is') {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(element);\n } catch (_) {}\n } else {\n try {\n element.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _initDocument\n *\n * @param dirty - a string of dirty markup\n * @return a DOM, filled with the dirty markup\n */\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n if (FORCE_BODY) {\n dirty = '' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '' + dirty + '';\n }\n const dirtyPayload = trustedTypesPolicy ? _createTrustedHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n const body = doc.body || doc.documentElement;\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param root The root element or node to start traversing on.\n * @return The created NodeIterator\n */\n const _createNodeIterator = function _createNodeIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n };\n /**\n * Strip template-engine expressions ({{...}}, ${...}, <%...%>) from the\n * character data of an element subtree. Used as the final safety net for\n * SAFE_FOR_TEMPLATES on every DOM-returning code path so that expressions\n * which only form after text-node normalization (e.g. fragments split across\n * stripped elements) cannot survive into a template-evaluating framework.\n *\n * Walks text/comment/CDATA/processing-instruction nodes and mutates `.data`\n * in place rather than round-tripping through innerHTML. This preserves\n * descendant node references (important for IN_PLACE callers), avoids a\n * serialize/reparse cycle, and reads literal character data — which means\n * `<%...%>` in text content matches the ERB regex against its real bytes\n * instead of the HTML-entity-escaped form innerHTML would produce.\n *\n * Attribute values are not visited here; SAFE_FOR_TEMPLATES handling for\n * attributes is performed during the per-node `_sanitizeAttributes` pass.\n *\n * @param node The root element whose character data should be scrubbed.\n */\n const _scrubTemplateExpressions2 = function _scrubTemplateExpressions(node) {\n var _node$querySelectorAl, _node$querySelectorAl2;\n node.normalize();\n const walker = createNodeIterator.call(node.ownerDocument || node, node,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_TEXT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_CDATA_SECTION | NodeFilter.SHOW_PROCESSING_INSTRUCTION, null);\n let currentNode = walker.nextNode();\n while (currentNode) {\n let data = currentNode.data;\n arrayForEach([MUSTACHE_EXPR$1, ERB_EXPR$1, TMPLIT_EXPR$1], expr => {\n data = stringReplace(data, expr, ' ');\n });\n currentNode.data = data;\n currentNode = walker.nextNode();\n }\n // NodeIterator does not descend into