diff --git a/.dockerignore b/.dockerignore
index b461b8d7..0d9f1e4d 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -12,3 +12,6 @@ __pycache__/
*.pyc
*.pyd
*.pyo
+
+node_modules/
+frontend/
diff --git a/.gitignore b/.gitignore
index 1fa4cc9d..64ec2fd9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -99,3 +99,6 @@ status_cache.json
*.db
docs/html/
+
+# Frontend
+node_modules/
diff --git a/frontend/eslint.config.js b/frontend/eslint.config.js
new file mode 100644
index 00000000..b09d87ff
--- /dev/null
+++ b/frontend/eslint.config.js
@@ -0,0 +1,49 @@
+import js from "@eslint/js";
+import stylistic from "@stylistic/eslint-plugin";
+import reactHooks from "eslint-plugin-react-hooks";
+import reactRefresh from "eslint-plugin-react-refresh";
+import tseslint from "typescript-eslint";
+
+export default tseslint.config(
+ { ignores: ["dist"] },
+ {
+ extends: [js.configs.recommended, ...tseslint.configs.recommendedTypeChecked],
+ files: ["src/**/*.{ts,tsx}"],
+ languageOptions: {
+ parserOptions: {
+ projectService: true,
+ tsconfigRootDir: import.meta.dirname,
+ },
+ },
+ plugins: {
+ "react-hooks": reactHooks,
+ "react-refresh": reactRefresh,
+ "@stylistic": stylistic,
+ },
+ rules: {
+ ...reactHooks.configs.recommended.rules,
+ "react-refresh/only-export-components": ["warn", { allowConstantExport: true }],
+
+ "curly": "error",
+ "@stylistic/brace-style": ["error", "1tbs"],
+
+ // stylistic
+ "@stylistic/indent": ["error", 4],
+ "@stylistic/quotes": ["error", "double"],
+ "@stylistic/semi": ["error", "always"],
+ "@stylistic/comma-dangle": ["error", "always-multiline"],
+ "@stylistic/object-curly-spacing": ["error", "always"],
+ "@stylistic/array-bracket-spacing": ["error", "never"],
+ "@stylistic/arrow-parens": ["error", "always"],
+ "@stylistic/eol-last": ["error", "always"],
+ "@stylistic/no-trailing-spaces": "error",
+ "@stylistic/no-multiple-empty-lines": ["error", { max: 1 }],
+ "@stylistic/jsx-quotes": ["error", "prefer-double"],
+
+ // typescript
+ "@typescript-eslint/explicit-function-return-type": ["error", { allowExpressions: true }],
+ "@typescript-eslint/no-deprecated": "error",
+ "@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_" }],
+ },
+ },
+);
diff --git a/frontend/index.html b/frontend/index.html
new file mode 100644
index 00000000..aece6e5b
--- /dev/null
+++ b/frontend/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+ ahriman
+
+
+
+
+
+
+
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
new file mode 100644
index 00000000..84075f62
--- /dev/null
+++ b/frontend/package-lock.json
@@ -0,0 +1,4280 @@
+{
+ "name": "ahriman-frontend",
+ "version": "0.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "ahriman-frontend",
+ "version": "0.0.0",
+ "dependencies": {
+ "@emotion/react": "^11.11.0",
+ "@emotion/styled": "^11.11.0",
+ "@mui/icons-material": "^5.15.0",
+ "@mui/material": "^5.15.0",
+ "@mui/x-data-grid": "^7.0.0",
+ "@tanstack/react-query": "^5.0.0",
+ "chart.js": "^4.5.0",
+ "highlight.js": "^11.11.0",
+ "react": "^18.2.0",
+ "react-chartjs-2": "^5.2.0",
+ "react-dom": "^18.2.0"
+ },
+ "devDependencies": {
+ "@eslint/js": "^9.39.3",
+ "@stylistic/eslint-plugin": "^5.9.0",
+ "@types/react": "^18.2.0",
+ "@types/react-dom": "^18.2.0",
+ "@vitejs/plugin-react": "^4.2.0",
+ "eslint": "^9.39.3",
+ "eslint-plugin-react-hooks": "^7.0.1",
+ "eslint-plugin-react-refresh": "^0.5.2",
+ "typescript": "^5.3.0",
+ "typescript-eslint": "^8.56.1",
+ "vite": "^5.0.0",
+ "vite-tsconfig-paths": "^6.1.1"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.28.5",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz",
+ "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz",
+ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.29.0",
+ "@babel/generator": "^7.29.0",
+ "@babel/helper-compilation-targets": "^7.28.6",
+ "@babel/helper-module-transforms": "^7.28.6",
+ "@babel/helpers": "^7.28.6",
+ "@babel/parser": "^7.29.0",
+ "@babel/template": "^7.28.6",
+ "@babel/traverse": "^7.29.0",
+ "@babel/types": "^7.29.0",
+ "@jridgewell/remapping": "^2.3.5",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/core/node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.29.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
+ "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.29.0",
+ "@babel/types": "^7.29.0",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
+ "jsesc": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz",
+ "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.28.6",
+ "@babel/helper-validator-option": "^7.27.1",
+ "browserslist": "^4.24.0",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-globals": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+ "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
+ "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.28.6",
+ "@babel/types": "^7.28.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz",
+ "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.28.6",
+ "@babel/helper-validator-identifier": "^7.28.5",
+ "@babel/traverse": "^7.28.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz",
+ "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
+ "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz",
+ "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.28.6",
+ "@babel/types": "^7.28.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz",
+ "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.29.0"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-self": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz",
+ "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-source": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz",
+ "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz",
+ "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
+ "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.28.6",
+ "@babel/parser": "^7.28.6",
+ "@babel/types": "^7.28.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
+ "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.29.0",
+ "@babel/generator": "^7.29.0",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.29.0",
+ "@babel/template": "^7.28.6",
+ "@babel/types": "^7.29.0",
+ "debug": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
+ "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.28.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@emotion/babel-plugin": {
+ "version": "11.13.5",
+ "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz",
+ "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.16.7",
+ "@babel/runtime": "^7.18.3",
+ "@emotion/hash": "^0.9.2",
+ "@emotion/memoize": "^0.9.0",
+ "@emotion/serialize": "^1.3.3",
+ "babel-plugin-macros": "^3.1.0",
+ "convert-source-map": "^1.5.0",
+ "escape-string-regexp": "^4.0.0",
+ "find-root": "^1.1.0",
+ "source-map": "^0.5.7",
+ "stylis": "4.2.0"
+ }
+ },
+ "node_modules/@emotion/cache": {
+ "version": "11.14.0",
+ "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz",
+ "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==",
+ "license": "MIT",
+ "dependencies": {
+ "@emotion/memoize": "^0.9.0",
+ "@emotion/sheet": "^1.4.0",
+ "@emotion/utils": "^1.4.2",
+ "@emotion/weak-memoize": "^0.4.0",
+ "stylis": "4.2.0"
+ }
+ },
+ "node_modules/@emotion/hash": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz",
+ "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==",
+ "license": "MIT"
+ },
+ "node_modules/@emotion/is-prop-valid": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz",
+ "integrity": "sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==",
+ "license": "MIT",
+ "dependencies": {
+ "@emotion/memoize": "^0.9.0"
+ }
+ },
+ "node_modules/@emotion/memoize": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz",
+ "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==",
+ "license": "MIT"
+ },
+ "node_modules/@emotion/react": {
+ "version": "11.14.0",
+ "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz",
+ "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "@emotion/babel-plugin": "^11.13.5",
+ "@emotion/cache": "^11.14.0",
+ "@emotion/serialize": "^1.3.3",
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0",
+ "@emotion/utils": "^1.4.2",
+ "@emotion/weak-memoize": "^0.4.0",
+ "hoist-non-react-statics": "^3.3.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@emotion/serialize": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz",
+ "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==",
+ "license": "MIT",
+ "dependencies": {
+ "@emotion/hash": "^0.9.2",
+ "@emotion/memoize": "^0.9.0",
+ "@emotion/unitless": "^0.10.0",
+ "@emotion/utils": "^1.4.2",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@emotion/sheet": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz",
+ "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==",
+ "license": "MIT"
+ },
+ "node_modules/@emotion/styled": {
+ "version": "11.14.1",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.1.tgz",
+ "integrity": "sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "@emotion/babel-plugin": "^11.13.5",
+ "@emotion/is-prop-valid": "^1.3.0",
+ "@emotion/serialize": "^1.3.3",
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0",
+ "@emotion/utils": "^1.4.2"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.0.0-rc.0",
+ "react": ">=16.8.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@emotion/unitless": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz",
+ "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==",
+ "license": "MIT"
+ },
+ "node_modules/@emotion/use-insertion-effect-with-fallbacks": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz",
+ "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": ">=16.8.0"
+ }
+ },
+ "node_modules/@emotion/utils": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz",
+ "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==",
+ "license": "MIT"
+ },
+ "node_modules/@emotion/weak-memoize": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz",
+ "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==",
+ "license": "MIT"
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz",
+ "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eslint-visitor-keys": "^3.4.3"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.12.2",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz",
+ "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/config-array": {
+ "version": "0.21.1",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz",
+ "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/object-schema": "^2.1.7",
+ "debug": "^4.3.1",
+ "minimatch": "^3.1.2"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/config-helpers": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz",
+ "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/core": "^0.17.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/core": {
+ "version": "0.17.0",
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz",
+ "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@types/json-schema": "^7.0.15"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.4.tgz",
+ "integrity": "sha512-4h4MVF8pmBsncB60r0wSJiIeUKTSD4m7FmTFThG8RHlsg9ajqckLm9OraguFGZE4vVdpiI1Q4+hFnisopmG6gQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ajv": "^6.14.0",
+ "debug": "^4.3.2",
+ "espree": "^10.0.1",
+ "globals": "^14.0.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.1",
+ "minimatch": "^3.1.3",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/js": {
+ "version": "9.39.3",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.3.tgz",
+ "integrity": "sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://eslint.org/donate"
+ }
+ },
+ "node_modules/@eslint/object-schema": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz",
+ "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/plugin-kit": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz",
+ "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/core": "^0.17.0",
+ "levn": "^0.4.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "license": "Apache-2.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==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@humanfs/core": "^0.19.1",
+ "@humanwhocodes/retry": "^0.4.0"
+ },
+ "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",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/retry": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
+ "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/remapping": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.31",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@kurkle/color": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz",
+ "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==",
+ "license": "MIT"
+ },
+ "node_modules/@mui/core-downloads-tracker": {
+ "version": "5.18.0",
+ "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.18.0.tgz",
+ "integrity": "sha512-jbhwoQ1AY200PSSOrNXmrFCaSDSJWP7qk6urkTmIirvRXDROkqe+QwcLlUiw/PrREwsIF/vm3/dAXvjlMHF0RA==",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ }
+ },
+ "node_modules/@mui/icons-material": {
+ "version": "5.18.0",
+ "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.18.0.tgz",
+ "integrity": "sha512-1s0vEZj5XFXDMmz3Arl/R7IncFqJ+WQ95LDp1roHWGDE2oCO3IS4/hmiOv1/8SD9r6B7tv9GLiqVZYHo+6PkTg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.23.9"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@mui/material": "^5.0.0",
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/material": {
+ "version": "5.18.0",
+ "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.18.0.tgz",
+ "integrity": "sha512-bbH/HaJZpFtXGvWg3TsBWG4eyt3gah3E7nCNU8GLyRjVoWcA91Vm/T+sjHfUcwgJSw9iLtucfHBoq+qW/T30aA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.23.9",
+ "@mui/core-downloads-tracker": "^5.18.0",
+ "@mui/system": "^5.18.0",
+ "@mui/types": "~7.2.15",
+ "@mui/utils": "^5.17.1",
+ "@popperjs/core": "^2.11.8",
+ "@types/react-transition-group": "^4.4.10",
+ "clsx": "^2.1.0",
+ "csstype": "^3.1.3",
+ "prop-types": "^15.8.1",
+ "react-is": "^19.0.0",
+ "react-transition-group": "^4.4.5"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.5.0",
+ "@emotion/styled": "^11.3.0",
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/react": {
+ "optional": true
+ },
+ "@emotion/styled": {
+ "optional": true
+ },
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/material/node_modules/@mui/private-theming": {
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.17.1.tgz",
+ "integrity": "sha512-XMxU0NTYcKqdsG8LRmSoxERPXwMbp16sIXPcLVgLGII/bVNagX0xaheWAwFv8+zDK7tI3ajllkuD3GZZE++ICQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.23.9",
+ "@mui/utils": "^5.17.1",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/material/node_modules/@mui/styled-engine": {
+ "version": "5.18.0",
+ "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.18.0.tgz",
+ "integrity": "sha512-BN/vKV/O6uaQh2z5rXV+MBlVrEkwoS/TK75rFQ2mjxA7+NBo8qtTAOA4UaM0XeJfn7kh2wZ+xQw2HAx0u+TiBg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.23.9",
+ "@emotion/cache": "^11.13.5",
+ "@emotion/serialize": "^1.3.3",
+ "csstype": "^3.1.3",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.4.1",
+ "@emotion/styled": "^11.3.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/react": {
+ "optional": true
+ },
+ "@emotion/styled": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/material/node_modules/@mui/system": {
+ "version": "5.18.0",
+ "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.18.0.tgz",
+ "integrity": "sha512-ojZGVcRWqWhu557cdO3pWHloIGJdzVtxs3rk0F9L+x55LsUjcMUVkEhiF7E4TMxZoF9MmIHGGs0ZX3FDLAf0Xw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.23.9",
+ "@mui/private-theming": "^5.17.1",
+ "@mui/styled-engine": "^5.18.0",
+ "@mui/types": "~7.2.15",
+ "@mui/utils": "^5.17.1",
+ "clsx": "^2.1.0",
+ "csstype": "^3.1.3",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.5.0",
+ "@emotion/styled": "^11.3.0",
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/react": {
+ "optional": true
+ },
+ "@emotion/styled": {
+ "optional": true
+ },
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/private-theming": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-7.3.8.tgz",
+ "integrity": "sha512-du5dlPZ9XL3xW2apHoGDXBI+QLtyVJGrXNCfcNYfP/ojkz1RQ0rRV6VG9Rkm1DqEFRG8mjjTL7zmE1Bvn1eR4A==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/runtime": "^7.28.6",
+ "@mui/utils": "^7.3.8",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/private-theming/node_modules/@mui/types": {
+ "version": "7.4.11",
+ "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.4.11.tgz",
+ "integrity": "sha512-fZ2xO9D08IKOxO2oUBi1nnVKH6oJUD+64cnv4YAaFoC0E5+i1+S5AHbNqqvZlYYsbPEQ6qEVwuBqY3jl5W4G+Q==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/runtime": "^7.28.6"
+ },
+ "peerDependencies": {
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/private-theming/node_modules/@mui/utils": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-7.3.8.tgz",
+ "integrity": "sha512-kZRcE2620CBGr+XI8YMmwPj6WIPwSF7uMJjvSfqd8zXVvlz0MCJbzRRUGNf8NgflCLthdji2DdS643TeyJ3+nA==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/runtime": "^7.28.6",
+ "@mui/types": "^7.4.11",
+ "@types/prop-types": "^15.7.15",
+ "clsx": "^2.1.1",
+ "prop-types": "^15.8.1",
+ "react-is": "^19.2.3"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/styled-engine": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-7.3.8.tgz",
+ "integrity": "sha512-JHAeXQzS0tJ+Fq3C6J4TVDsW+yKhO4uuxuiLaopNStJeQYBIUCXpKYyUCcgXym4AmhbznQnv9RlHywSH6b0FOg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/runtime": "^7.28.6",
+ "@emotion/cache": "^11.14.0",
+ "@emotion/serialize": "^1.3.3",
+ "@emotion/sheet": "^1.4.0",
+ "csstype": "^3.2.3",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.4.1",
+ "@emotion/styled": "^11.3.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/react": {
+ "optional": true
+ },
+ "@emotion/styled": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/system": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/@mui/system/-/system-7.3.8.tgz",
+ "integrity": "sha512-hoFRj4Zw2Km8DPWZp/nKG+ao5Jw5LSk2m/e4EGc6M3RRwXKEkMSG4TgtfVJg7dS2homRwtdXSMW+iRO0ZJ4+IA==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/runtime": "^7.28.6",
+ "@mui/private-theming": "^7.3.8",
+ "@mui/styled-engine": "^7.3.8",
+ "@mui/types": "^7.4.11",
+ "@mui/utils": "^7.3.8",
+ "clsx": "^2.1.1",
+ "csstype": "^3.2.3",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.5.0",
+ "@emotion/styled": "^11.3.0",
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/react": {
+ "optional": true
+ },
+ "@emotion/styled": {
+ "optional": true
+ },
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/system/node_modules/@mui/types": {
+ "version": "7.4.11",
+ "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.4.11.tgz",
+ "integrity": "sha512-fZ2xO9D08IKOxO2oUBi1nnVKH6oJUD+64cnv4YAaFoC0E5+i1+S5AHbNqqvZlYYsbPEQ6qEVwuBqY3jl5W4G+Q==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/runtime": "^7.28.6"
+ },
+ "peerDependencies": {
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/system/node_modules/@mui/utils": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-7.3.8.tgz",
+ "integrity": "sha512-kZRcE2620CBGr+XI8YMmwPj6WIPwSF7uMJjvSfqd8zXVvlz0MCJbzRRUGNf8NgflCLthdji2DdS643TeyJ3+nA==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/runtime": "^7.28.6",
+ "@mui/types": "^7.4.11",
+ "@types/prop-types": "^15.7.15",
+ "clsx": "^2.1.1",
+ "prop-types": "^15.8.1",
+ "react-is": "^19.2.3"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/types": {
+ "version": "7.2.24",
+ "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.24.tgz",
+ "integrity": "sha512-3c8tRt/CbWZ+pEg7QpSwbdxOk36EfmhbKf6AGZsD1EcLDLTSZoxxJ86FVtcjxvjuhdyBiWKSTGZFaXCnidO2kw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/utils": {
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.17.1.tgz",
+ "integrity": "sha512-jEZ8FTqInt2WzxDV8bhImWBqeQRD99c/id/fq83H0ER9tFl+sfZlaAoCdznGvbSQQ9ividMxqSV2c7cC1vBcQg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.23.9",
+ "@mui/types": "~7.2.15",
+ "@types/prop-types": "^15.7.12",
+ "clsx": "^2.1.1",
+ "prop-types": "^15.8.1",
+ "react-is": "^19.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/x-data-grid": {
+ "version": "7.29.12",
+ "resolved": "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-7.29.12.tgz",
+ "integrity": "sha512-MaEC7ubr/je8jVWjdRU7LxBXAzlOZwFEdNdvlDUJIYkRa3TRCQ1HsY8Gd8Od0jnlnMYn9M4BrEfOrq9VRnt4bw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.25.7",
+ "@mui/utils": "^5.16.6 || ^6.0.0 || ^7.0.0",
+ "@mui/x-internals": "7.29.0",
+ "clsx": "^2.1.1",
+ "prop-types": "^15.8.1",
+ "reselect": "^5.1.1",
+ "use-sync-external-store": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.9.0",
+ "@emotion/styled": "^11.8.1",
+ "@mui/material": "^5.15.14 || ^6.0.0 || ^7.0.0",
+ "@mui/system": "^5.15.14 || ^6.0.0 || ^7.0.0",
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/react": {
+ "optional": true
+ },
+ "@emotion/styled": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/x-internals": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@mui/x-internals/-/x-internals-7.29.0.tgz",
+ "integrity": "sha512-+Gk6VTZIFD70XreWvdXBwKd8GZ2FlSCuecQFzm6znwqXg1ZsndavrhG9tkxpxo2fM1Zf7Tk8+HcOO0hCbhTQFA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.25.7",
+ "@mui/utils": "^5.16.6 || ^6.0.0 || ^7.0.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@popperjs/core": {
+ "version": "2.11.8",
+ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
+ "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/popperjs"
+ }
+ },
+ "node_modules/@rolldown/pluginutils": {
+ "version": "1.0.0-beta.27",
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz",
+ "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "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==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@stylistic/eslint-plugin": {
+ "version": "5.9.0",
+ "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.9.0.tgz",
+ "integrity": "sha512-FqqSkvDMYJReydrMhlugc71M76yLLQWNfmGq+SIlLa7N3kHp8Qq8i2PyWrVNAfjOyOIY+xv9XaaYwvVW7vroMA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.9.1",
+ "@typescript-eslint/types": "^8.56.0",
+ "eslint-visitor-keys": "^4.2.1",
+ "espree": "^10.4.0",
+ "estraverse": "^5.3.0",
+ "picomatch": "^4.0.3"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "peerDependencies": {
+ "eslint": "^9.0.0 || ^10.0.0"
+ }
+ },
+ "node_modules/@tanstack/query-core": {
+ "version": "5.90.20",
+ "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.90.20.tgz",
+ "integrity": "sha512-OMD2HLpNouXEfZJWcKeVKUgQ5n+n3A2JFmBaScpNDUqSrQSjiveC7dKMe53uJUg1nDG16ttFPz2xfilz6i2uVg==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ }
+ },
+ "node_modules/@tanstack/react-query": {
+ "version": "5.90.21",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.90.21.tgz",
+ "integrity": "sha512-0Lu6y5t+tvlTJMTO7oh5NSpJfpg/5D41LlThfepTixPYkJ0sE2Jj0m0f6yYqujBwIXlId87e234+MxG3D3g7kg==",
+ "license": "MIT",
+ "dependencies": {
+ "@tanstack/query-core": "5.90.20"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ },
+ "peerDependencies": {
+ "react": "^18 || ^19"
+ }
+ },
+ "node_modules/@types/babel__core": {
+ "version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+ "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.20.7",
+ "@babel/types": "^7.20.7",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "node_modules/@types/babel__generator": {
+ "version": "7.27.0",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
+ "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__template": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+ "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__traverse": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz",
+ "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.28.2"
+ }
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/parse-json": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
+ "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
+ "license": "MIT"
+ },
+ "node_modules/@types/prop-types": {
+ "version": "15.7.15",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz",
+ "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==",
+ "license": "MIT"
+ },
+ "node_modules/@types/react": {
+ "version": "18.3.28",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz",
+ "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/prop-types": "*",
+ "csstype": "^3.2.2"
+ }
+ },
+ "node_modules/@types/react-dom": {
+ "version": "18.3.7",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz",
+ "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "^18.0.0"
+ }
+ },
+ "node_modules/@types/react-transition-group": {
+ "version": "4.4.12",
+ "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz",
+ "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*"
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "8.56.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.56.1.tgz",
+ "integrity": "sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.12.2",
+ "@typescript-eslint/scope-manager": "8.56.1",
+ "@typescript-eslint/type-utils": "8.56.1",
+ "@typescript-eslint/utils": "8.56.1",
+ "@typescript-eslint/visitor-keys": "8.56.1",
+ "ignore": "^7.0.5",
+ "natural-compare": "^1.4.0",
+ "ts-api-utils": "^2.4.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^8.56.1",
+ "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+ "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "8.56.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.56.1.tgz",
+ "integrity": "sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "8.56.1",
+ "@typescript-eslint/types": "8.56.1",
+ "@typescript-eslint/typescript-estree": "8.56.1",
+ "@typescript-eslint/visitor-keys": "8.56.1",
+ "debug": "^4.4.3"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/project-service": {
+ "version": "8.56.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.56.1.tgz",
+ "integrity": "sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/tsconfig-utils": "^8.56.1",
+ "@typescript-eslint/types": "^8.56.1",
+ "debug": "^4.4.3"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "8.56.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.56.1.tgz",
+ "integrity": "sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.56.1",
+ "@typescript-eslint/visitor-keys": "8.56.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/tsconfig-utils": {
+ "version": "8.56.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.1.tgz",
+ "integrity": "sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "8.56.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.56.1.tgz",
+ "integrity": "sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.56.1",
+ "@typescript-eslint/typescript-estree": "8.56.1",
+ "@typescript-eslint/utils": "8.56.1",
+ "debug": "^4.4.3",
+ "ts-api-utils": "^2.4.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "8.56.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.56.1.tgz",
+ "integrity": "sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "8.56.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.1.tgz",
+ "integrity": "sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/project-service": "8.56.1",
+ "@typescript-eslint/tsconfig-utils": "8.56.1",
+ "@typescript-eslint/types": "8.56.1",
+ "@typescript-eslint/visitor-keys": "8.56.1",
+ "debug": "^4.4.3",
+ "minimatch": "^10.2.2",
+ "semver": "^7.7.3",
+ "tinyglobby": "^0.2.15",
+ "ts-api-utils": "^2.4.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "18 || 20 || >=22"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
+ "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^4.0.2"
+ },
+ "engines": {
+ "node": "18 || 20 || >=22"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
+ "version": "10.2.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
+ "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "brace-expansion": "^5.0.2"
+ },
+ "engines": {
+ "node": "18 || 20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
+ "version": "7.7.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
+ "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@typescript-eslint/utils": {
+ "version": "8.56.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.56.1.tgz",
+ "integrity": "sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.9.1",
+ "@typescript-eslint/scope-manager": "8.56.1",
+ "@typescript-eslint/types": "8.56.1",
+ "@typescript-eslint/typescript-estree": "8.56.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "8.56.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.1.tgz",
+ "integrity": "sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.56.1",
+ "eslint-visitor-keys": "^5.0.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz",
+ "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^20.19.0 || ^22.13.0 || >=24"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@vitejs/plugin-react": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz",
+ "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.28.0",
+ "@babel/plugin-transform-react-jsx-self": "^7.27.1",
+ "@babel/plugin-transform-react-jsx-source": "^7.27.1",
+ "@rolldown/pluginutils": "1.0.0-beta.27",
+ "@types/babel__core": "^7.20.5",
+ "react-refresh": "^0.17.0"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.16.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz",
+ "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.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==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
+ "license": "Python-2.0"
+ },
+ "node_modules/babel-plugin-macros": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
+ "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "cosmiconfig": "^7.0.0",
+ "resolve": "^1.19.0"
+ },
+ "engines": {
+ "node": ">=10",
+ "npm": ">=6"
+ }
+ },
+ "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/baseline-browser-mapping": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz",
+ "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "baseline-browser-mapping": "dist/cli.cjs"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
+ "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "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"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001774",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001774.tgz",
+ "integrity": "sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chart.js": {
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.1.tgz",
+ "integrity": "sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==",
+ "license": "MIT",
+ "dependencies": {
+ "@kurkle/color": "^0.3.0"
+ },
+ "engines": {
+ "pnpm": ">=8"
+ }
+ },
+ "node_modules/clsx": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+ "license": "MIT"
+ },
+ "node_modules/cosmiconfig": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+ "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
+ "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
+ "license": "MIT"
+ },
+ "node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/dom-helpers": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz",
+ "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.8.7",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.302",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.302.tgz",
+ "integrity": "sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
+ "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
+ "license": "MIT",
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.21.5",
+ "@esbuild/android-arm": "0.21.5",
+ "@esbuild/android-arm64": "0.21.5",
+ "@esbuild/android-x64": "0.21.5",
+ "@esbuild/darwin-arm64": "0.21.5",
+ "@esbuild/darwin-x64": "0.21.5",
+ "@esbuild/freebsd-arm64": "0.21.5",
+ "@esbuild/freebsd-x64": "0.21.5",
+ "@esbuild/linux-arm": "0.21.5",
+ "@esbuild/linux-arm64": "0.21.5",
+ "@esbuild/linux-ia32": "0.21.5",
+ "@esbuild/linux-loong64": "0.21.5",
+ "@esbuild/linux-mips64el": "0.21.5",
+ "@esbuild/linux-ppc64": "0.21.5",
+ "@esbuild/linux-riscv64": "0.21.5",
+ "@esbuild/linux-s390x": "0.21.5",
+ "@esbuild/linux-x64": "0.21.5",
+ "@esbuild/netbsd-x64": "0.21.5",
+ "@esbuild/openbsd-x64": "0.21.5",
+ "@esbuild/sunos-x64": "0.21.5",
+ "@esbuild/win32-arm64": "0.21.5",
+ "@esbuild/win32-ia32": "0.21.5",
+ "@esbuild/win32-x64": "0.21.5"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "9.39.3",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.3.tgz",
+ "integrity": "sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.8.0",
+ "@eslint-community/regexpp": "^4.12.1",
+ "@eslint/config-array": "^0.21.1",
+ "@eslint/config-helpers": "^0.4.2",
+ "@eslint/core": "^0.17.0",
+ "@eslint/eslintrc": "^3.3.1",
+ "@eslint/js": "9.39.3",
+ "@eslint/plugin-kit": "^0.4.1",
+ "@humanfs/node": "^0.16.6",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@humanwhocodes/retry": "^0.4.2",
+ "@types/estree": "^1.0.6",
+ "ajv": "^6.12.4",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.6",
+ "debug": "^4.3.2",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^8.4.0",
+ "eslint-visitor-keys": "^4.2.1",
+ "espree": "^10.4.0",
+ "esquery": "^1.5.0",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^8.0.0",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "ignore": "^5.2.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.3"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://eslint.org/donate"
+ },
+ "peerDependencies": {
+ "jiti": "*"
+ },
+ "peerDependenciesMeta": {
+ "jiti": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-plugin-react-hooks": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz",
+ "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.24.4",
+ "@babel/parser": "^7.24.4",
+ "hermes-parser": "^0.25.1",
+ "zod": "^3.25.0 || ^4.0.0",
+ "zod-validation-error": "^3.5.0 || ^4.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-react-refresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.5.2.tgz",
+ "integrity": "sha512-hmgTH57GfzoTFjVN0yBwTggnsVUF2tcqi7RJZHqi9lIezSs4eFyAMktA68YD4r5kNw1mxyY4dmkyoFDb3FIqrA==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "eslint": "^9 || ^10"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
+ "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+ "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/espree": {
+ "version": "10.4.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
+ "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "acorn": "^8.15.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^4.2.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz",
+ "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
+ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flat-cache": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/find-root": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
+ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==",
+ "license": "MIT"
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
+ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.4"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
+ "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/fsevents": {
+ "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,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/globals": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+ "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globrex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
+ "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/hermes-estree": {
+ "version": "0.25.1",
+ "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz",
+ "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/hermes-parser": {
+ "version": "0.25.1",
+ "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz",
+ "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hermes-estree": "0.25.1"
+ }
+ },
+ "node_modules/highlight.js": {
+ "version": "11.11.1",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz",
+ "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/hoist-non-react-statics": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "react-is": "^16.7.0"
+ }
+ },
+ "node_modules/hoist-non-react-statics/node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
+ "license": "MIT"
+ },
+ "node_modules/ignore": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
+ "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
+ "license": "MIT",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "license": "MIT"
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+ "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "license": "MIT"
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "license": "MIT"
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "license": "MIT",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT"
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.11",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.5"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "license": "MIT"
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.5.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+ "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.11",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/prop-types": {
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "node_modules/prop-types/node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
+ "license": "MIT"
+ },
+ "node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/react": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
+ "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-chartjs-2": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.3.1.tgz",
+ "integrity": "sha512-h5IPXKg9EXpjoBzUfyWJvllMjG2mQ4EiuHQFhms/AjUm0XSZHhyRy2xVmLXHKrtcdrPO4mnGqRtYoD0vp95A0A==",
+ "license": "MIT",
+ "peerDependencies": {
+ "chart.js": "^4.1.1",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/react-dom": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
+ "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "scheduler": "^0.23.2"
+ },
+ "peerDependencies": {
+ "react": "^18.3.1"
+ }
+ },
+ "node_modules/react-is": {
+ "version": "19.2.4",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.4.tgz",
+ "integrity": "sha512-W+EWGn2v0ApPKgKKCy/7s7WHXkboGcsrXE+2joLyVxkbyVQfO3MUEaUQDHoSmb8TFFrSKYa9mw64WZHNHSDzYA==",
+ "license": "MIT"
+ },
+ "node_modules/react-refresh": {
+ "version": "0.17.0",
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz",
+ "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-transition-group": {
+ "version": "4.4.5",
+ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz",
+ "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "dom-helpers": "^5.0.1",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.6.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.6.0",
+ "react-dom": ">=16.6.0"
+ }
+ },
+ "node_modules/reselect": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz",
+ "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==",
+ "license": "MIT"
+ },
+ "node_modules/resolve": {
+ "version": "1.22.11",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
+ "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.16.1",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.8"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "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",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/scheduler": {
+ "version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ }
+ },
+ "node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "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/stylis": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz",
+ "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==",
+ "license": "MIT"
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/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",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/tinyglobby": {
+ "version": "0.2.15",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
+ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/ts-api-utils": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz",
+ "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.12"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4"
+ }
+ },
+ "node_modules/tsconfck": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz",
+ "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "tsconfck": "bin/tsconfck.js"
+ },
+ "engines": {
+ "node": "^18 || >=20"
+ },
+ "peerDependencies": {
+ "typescript": "^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.9.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/typescript-eslint": {
+ "version": "8.56.1",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.56.1.tgz",
+ "integrity": "sha512-U4lM6pjmBX7J5wk4szltF7I1cGBHXZopnAXCMXb3+fZ3B/0Z3hq3wS/CCUB2NZBNAExK92mCU2tEohWuwVMsDQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/eslint-plugin": "8.56.1",
+ "@typescript-eslint/parser": "8.56.1",
+ "@typescript-eslint/typescript-estree": "8.56.1",
+ "@typescript-eslint/utils": "8.56.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
+ "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/use-sync-external-store": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz",
+ "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/vite": {
+ "version": "5.4.21",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz",
+ "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "^0.21.3",
+ "postcss": "^8.4.43",
+ "rollup": "^4.20.0"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || >=20.0.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "sass-embedded": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite-tsconfig-paths": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-6.1.1.tgz",
+ "integrity": "sha512-2cihq7zliibCCZ8P9cKJrQBkfgdvcFkOOc3Y02o3GWUDLgqjWsZudaoiuOwO/gzTzy17cS5F7ZPo4bsnS4DGkg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.1.1",
+ "globrex": "^0.1.2",
+ "tsconfck": "^3.0.3"
+ },
+ "peerDependencies": {
+ "vite": "*"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/yaml": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+ "license": "ISC",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/zod": {
+ "version": "4.3.6",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz",
+ "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ },
+ "node_modules/zod-validation-error": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz",
+ "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "zod": "^3.25.0 || ^4.0.0"
+ }
+ }
+ }
+}
diff --git a/frontend/package.json b/frontend/package.json
new file mode 100644
index 00000000..36348dd9
--- /dev/null
+++ b/frontend/package.json
@@ -0,0 +1,40 @@
+{
+ "name": "ahriman-frontend",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "tsc && vite build",
+ "lint": "eslint src/",
+ "lint:fix": "eslint --fix src/",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "@emotion/react": "^11.11.0",
+ "@emotion/styled": "^11.11.0",
+ "@mui/icons-material": "^5.15.0",
+ "@mui/material": "^5.15.0",
+ "@mui/x-data-grid": "^7.0.0",
+ "@tanstack/react-query": "^5.0.0",
+ "chart.js": "^4.5.0",
+ "highlight.js": "^11.11.0",
+ "react": "^18.2.0",
+ "react-chartjs-2": "^5.2.0",
+ "react-dom": "^18.2.0"
+ },
+ "devDependencies": {
+ "@eslint/js": "^9.39.3",
+ "@stylistic/eslint-plugin": "^5.9.0",
+ "@types/react": "^18.2.0",
+ "@types/react-dom": "^18.2.0",
+ "@vitejs/plugin-react": "^4.2.0",
+ "eslint": "^9.39.3",
+ "eslint-plugin-react-hooks": "^7.0.1",
+ "eslint-plugin-react-refresh": "^0.5.2",
+ "typescript": "^5.3.0",
+ "typescript-eslint": "^8.56.1",
+ "vite": "^5.0.0",
+ "vite-tsconfig-paths": "^6.1.1"
+ }
+}
diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
new file mode 100644
index 00000000..cc2fba7a
--- /dev/null
+++ b/frontend/src/App.tsx
@@ -0,0 +1,35 @@
+import type React from "react";
+import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
+import { ThemeProvider } from "@mui/material/styles";
+import CssBaseline from "@mui/material/CssBaseline";
+import Theme from "theme/Theme";
+import { AuthProvider } from "contexts/AuthProvider";
+import { RepositoryProvider } from "contexts/RepositoryProvider";
+import { NotificationProvider } from "contexts/NotificationProvider";
+import AppLayout from "components/layout/AppLayout";
+
+const queryClient = new QueryClient({
+ defaultOptions: {
+ queries: {
+ staleTime: 30_000,
+ retry: 1,
+ },
+ },
+});
+
+export default function App(): React.JSX.Element {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/frontend/src/api/QueryKeys.ts b/frontend/src/api/QueryKeys.ts
new file mode 100644
index 00000000..40c8108d
--- /dev/null
+++ b/frontend/src/api/QueryKeys.ts
@@ -0,0 +1,30 @@
+import type { RepositoryId } from "api/types/RepositoryId";
+
+function repoKey(repo: RepositoryId): string {
+ return `${repo.architecture}-${repo.repository}`;
+}
+
+export const QueryKeys = {
+ info: ["info"] as const,
+
+ packages: (repo: RepositoryId) => ["packages", repoKey(repo)] as const,
+ package: (base: string, repo: RepositoryId) => ["packages", repoKey(repo), base] as const,
+
+ status: (repo: RepositoryId) => ["status", repoKey(repo)] as const,
+
+ logs: (base: string, repo: RepositoryId) => ["logs", repoKey(repo), base] as const,
+ logsVersion: (base: string, repo: RepositoryId, version: string, processId: string) =>
+ ["logs", repoKey(repo), base, version, processId] as const,
+
+ changes: (base: string, repo: RepositoryId) => ["changes", repoKey(repo), base] as const,
+
+ dependencies: (base: string, repo: RepositoryId) => ["dependencies", repoKey(repo), base] as const,
+
+ patches: (base: string) => ["patches", base] as const,
+
+ events: (repo: RepositoryId, objectId?: string) => ["events", repoKey(repo), objectId] as const,
+
+ search: (query: string) => ["search", query] as const,
+
+ pgpKey: (key: string, server: string) => ["pgp", key, server] as const,
+};
diff --git a/frontend/src/api/client/AhrimanClient.ts b/frontend/src/api/client/AhrimanClient.ts
new file mode 100644
index 00000000..65231e8d
--- /dev/null
+++ b/frontend/src/api/client/AhrimanClient.ts
@@ -0,0 +1,216 @@
+import type { AURPackage } from "api/types/AURPackage";
+import type { Changes } from "api/types/Changes";
+import type { Dependencies } from "api/types/Dependencies";
+import type { Event } from "api/types/Event";
+import type { InfoResponse } from "api/types/InfoResponse";
+import type { InternalStatus } from "api/types/InternalStatus";
+import type { LogRecord } from "api/types/LogRecord";
+import type { LoginRequest } from "api/types/LoginRequest";
+import type { PackageActionRequest } from "api/types/PackageActionRequest";
+import type { PackageStatus } from "api/types/PackageStatus";
+import type { Patch } from "api/types/Patch";
+import type { PGPKey } from "api/types/PGPKey";
+import type { PGPKeyRequest } from "api/types/PGPKeyRequest";
+import type { RepositoryId } from "api/types/RepositoryId";
+
+import { ApiError } from "api/client/ApiError";
+import type { RequestOptions } from "api/client/RequestOptions";
+
+export class AhrimanClient {
+ private static repoQuery(repo: RepositoryId): Record {
+ return { architecture: repo.architecture, repository: repo.repository };
+ }
+
+ private async request(url: string, options: RequestOptions = {}): Promise {
+ const { method, query, json } = options;
+
+ let fullUrl = url;
+ if (query) {
+ const params = new URLSearchParams();
+ for (const [key, value] of Object.entries(query)) {
+ if (value !== undefined && value !== null) {
+ params.set(key, String(value));
+ }
+ }
+ fullUrl += `?${params.toString()}`;
+ }
+
+ const requestInit: RequestInit = {
+ method: method || (json ? "POST" : "GET"),
+ headers: {
+ Accept: "application/json",
+ "Content-Type": "application/json",
+ },
+ };
+
+ if (json !== undefined) {
+ requestInit.body = JSON.stringify(json);
+ }
+
+ const response = await fetch(fullUrl, requestInit);
+
+ if (!response.ok) {
+ const body = await response.text();
+ throw new ApiError(response.status, response.statusText, body);
+ }
+
+ const contentType = response.headers.get("Content-Type") ?? "";
+ if (contentType.includes("application/json")) {
+ return await response.json() as T;
+ }
+ return await response.text() as T;
+ }
+
+ // Info
+
+ async fetchInfo(): Promise {
+ return this.request("/api/v1/info");
+ }
+
+ // Packages
+
+ async fetchPackages(repo: RepositoryId): Promise {
+ return this.request("/api/v1/packages", { query: AhrimanClient.repoQuery(repo) });
+ }
+
+ async fetchPackage(base: string, repo: RepositoryId): Promise {
+ return this.request(`/api/v1/packages/${encodeURIComponent(base)}`, {
+ query: AhrimanClient.repoQuery(repo),
+ });
+ }
+
+ // Status
+
+ async fetchStatus(repo: RepositoryId): Promise {
+ return this.request("/api/v1/status", { query: AhrimanClient.repoQuery(repo) });
+ }
+
+ // Logs
+
+ async fetchLogs(
+ base: string,
+ repo: RepositoryId,
+ version?: string,
+ processId?: string,
+ head?: boolean,
+ ): Promise {
+ const query: Record = AhrimanClient.repoQuery(repo);
+ if (version) {
+ query.version = version;
+ }
+ if (processId) {
+ query.process_id = processId;
+ }
+ if (head) {
+ query.head = true;
+ }
+ return this.request(`/api/v2/packages/${encodeURIComponent(base)}/logs`, { query });
+ }
+
+ // Changes
+
+ async fetchChanges(base: string, repo: RepositoryId): Promise {
+ return this.request(`/api/v1/packages/${encodeURIComponent(base)}/changes`, {
+ query: AhrimanClient.repoQuery(repo),
+ });
+ }
+
+ // Dependencies
+
+ async fetchDependencies(base: string, repo: RepositoryId): Promise {
+ return this.request(`/api/v1/packages/${encodeURIComponent(base)}/dependencies`, {
+ query: AhrimanClient.repoQuery(repo),
+ });
+ }
+
+ // Patches
+
+ async fetchPatches(base: string): Promise {
+ return this.request(`/api/v1/packages/${encodeURIComponent(base)}/patches`);
+ }
+
+ async deletePatch(base: string, key: string): Promise {
+ return this.request(`/api/v1/packages/${encodeURIComponent(base)}/patches/${encodeURIComponent(key)}`, {
+ method: "DELETE",
+ });
+ }
+
+ // Events
+
+ async fetchEvents(repo: RepositoryId, objectId?: string, limit?: number): Promise {
+ const query: Record = AhrimanClient.repoQuery(repo);
+ if (objectId) {
+ query.object_id = objectId;
+ }
+ if (limit) {
+ query.limit = limit;
+ }
+ return this.request("/api/v1/events", { query });
+ }
+
+ // Service actions
+
+ async addPackages(repo: RepositoryId, data: PackageActionRequest): Promise {
+ return this.request("/api/v1/service/add", { method: "POST", query: AhrimanClient.repoQuery(repo), json: data });
+ }
+
+ async removePackages(repo: RepositoryId, packages: string[]): Promise {
+ return this.request("/api/v1/service/remove", {
+ method: "POST",
+ query: AhrimanClient.repoQuery(repo),
+ json: { packages },
+ });
+ }
+
+ async updatePackages(repo: RepositoryId, data: PackageActionRequest): Promise {
+ return this.request("/api/v1/service/update", {
+ method: "POST",
+ query: AhrimanClient.repoQuery(repo),
+ json: data,
+ });
+ }
+
+ async rebuildPackages(repo: RepositoryId, packages: string[]): Promise {
+ return this.request("/api/v1/service/rebuild", {
+ method: "POST",
+ query: AhrimanClient.repoQuery(repo),
+ json: { packages },
+ });
+ }
+
+ async requestPackages(repo: RepositoryId, data: PackageActionRequest): Promise {
+ return this.request("/api/v1/service/request", {
+ method: "POST",
+ query: AhrimanClient.repoQuery(repo),
+ json: data,
+ });
+ }
+
+ // Search
+
+ async searchPackages(query: string): Promise {
+ return this.request("/api/v1/service/search", { query: { for: query } });
+ }
+
+ // PGP
+
+ async fetchPGPKey(key: string, server: string): Promise {
+ return this.request("/api/v1/service/pgp", { query: { key, server } });
+ }
+
+ async importPGPKey(data: PGPKeyRequest): Promise {
+ return this.request("/api/v1/service/pgp", { method: "POST", json: data });
+ }
+
+ // Auth
+
+ async login(data: LoginRequest): Promise {
+ return this.request("/api/v1/login", { method: "POST", json: data });
+ }
+
+ async logout(): Promise {
+ return this.request("/api/v1/logout", { method: "POST" });
+ }
+}
+
+export const Client = new AhrimanClient();
diff --git a/frontend/src/api/client/ApiError.ts b/frontend/src/api/client/ApiError.ts
new file mode 100644
index 00000000..068df81c
--- /dev/null
+++ b/frontend/src/api/client/ApiError.ts
@@ -0,0 +1,21 @@
+export class ApiError extends Error {
+ status: number;
+ statusText: string;
+ body: string;
+
+ constructor(status: number, statusText: string, body: string) {
+ super(`${status} ${statusText}`);
+ this.status = status;
+ this.statusText = statusText;
+ this.body = body;
+ }
+
+ get detail(): string {
+ try {
+ const parsed = JSON.parse(this.body) as Record;
+ return parsed.error ?? (this.body || this.message);
+ } catch {
+ return this.body || this.message;
+ }
+ }
+}
diff --git a/frontend/src/api/client/RequestOptions.ts b/frontend/src/api/client/RequestOptions.ts
new file mode 100644
index 00000000..24fc042e
--- /dev/null
+++ b/frontend/src/api/client/RequestOptions.ts
@@ -0,0 +1,5 @@
+export interface RequestOptions {
+ method?: string;
+ query?: Record;
+ json?: unknown;
+}
diff --git a/frontend/src/api/types/AURPackage.ts b/frontend/src/api/types/AURPackage.ts
new file mode 100644
index 00000000..f0655690
--- /dev/null
+++ b/frontend/src/api/types/AURPackage.ts
@@ -0,0 +1,4 @@
+export interface AURPackage {
+ package: string;
+ description: string;
+}
diff --git a/frontend/src/api/types/AutoRefreshInterval.ts b/frontend/src/api/types/AutoRefreshInterval.ts
new file mode 100644
index 00000000..155a19c9
--- /dev/null
+++ b/frontend/src/api/types/AutoRefreshInterval.ts
@@ -0,0 +1,5 @@
+export interface AutoRefreshInterval {
+ interval: number;
+ is_active: boolean;
+ text: string;
+}
diff --git a/frontend/src/api/types/BuildStatus.ts b/frontend/src/api/types/BuildStatus.ts
new file mode 100644
index 00000000..2ce972cf
--- /dev/null
+++ b/frontend/src/api/types/BuildStatus.ts
@@ -0,0 +1 @@
+export type BuildStatus = "unknown" | "pending" | "building" | "failed" | "success";
diff --git a/frontend/src/api/types/Changes.ts b/frontend/src/api/types/Changes.ts
new file mode 100644
index 00000000..ad3dbc59
--- /dev/null
+++ b/frontend/src/api/types/Changes.ts
@@ -0,0 +1,4 @@
+export interface Changes {
+ changes?: string;
+ last_commit_sha?: string;
+}
diff --git a/frontend/src/api/types/Counters.ts b/frontend/src/api/types/Counters.ts
new file mode 100644
index 00000000..8812831c
--- /dev/null
+++ b/frontend/src/api/types/Counters.ts
@@ -0,0 +1,8 @@
+export interface Counters {
+ building: number;
+ failed: number;
+ pending: number;
+ success: number;
+ total: number;
+ unknown: number;
+}
diff --git a/frontend/src/api/types/Dependencies.ts b/frontend/src/api/types/Dependencies.ts
new file mode 100644
index 00000000..e1295452
--- /dev/null
+++ b/frontend/src/api/types/Dependencies.ts
@@ -0,0 +1,3 @@
+export interface Dependencies {
+ paths: Record;
+}
diff --git a/frontend/src/api/types/Event.ts b/frontend/src/api/types/Event.ts
new file mode 100644
index 00000000..db642531
--- /dev/null
+++ b/frontend/src/api/types/Event.ts
@@ -0,0 +1,7 @@
+export interface Event {
+ created: number;
+ data?: Record;
+ event: string;
+ message?: string;
+ object_id: string;
+}
diff --git a/frontend/src/api/types/InfoResponse.ts b/frontend/src/api/types/InfoResponse.ts
new file mode 100644
index 00000000..21e15fa9
--- /dev/null
+++ b/frontend/src/api/types/InfoResponse.ts
@@ -0,0 +1,12 @@
+import type { AutoRefreshInterval } from "api/types/AutoRefreshInterval";
+import type { RepositoryId } from "api/types/RepositoryId";
+
+export interface InfoResponse {
+ auth: boolean;
+ repositories: RepositoryId[];
+ version: string;
+ autorefresh_intervals: AutoRefreshInterval[];
+ docs_enabled: boolean;
+ index_url?: string;
+ username?: string;
+}
diff --git a/frontend/src/api/types/InternalStatus.ts b/frontend/src/api/types/InternalStatus.ts
new file mode 100644
index 00000000..d9d7d663
--- /dev/null
+++ b/frontend/src/api/types/InternalStatus.ts
@@ -0,0 +1,12 @@
+import type { Counters } from "api/types/Counters";
+import type { RepositoryStats } from "api/types/RepositoryStats";
+import type { Status } from "api/types/Status";
+
+export interface InternalStatus {
+ architecture: string;
+ repository: string;
+ packages: Counters;
+ stats: RepositoryStats;
+ status: Status;
+ version: string;
+}
diff --git a/frontend/src/api/types/LogRecord.ts b/frontend/src/api/types/LogRecord.ts
new file mode 100644
index 00000000..09fc197a
--- /dev/null
+++ b/frontend/src/api/types/LogRecord.ts
@@ -0,0 +1,6 @@
+export interface LogRecord {
+ created: number;
+ message: string;
+ process_id: string;
+ version: string;
+}
diff --git a/frontend/src/api/types/LoginRequest.ts b/frontend/src/api/types/LoginRequest.ts
new file mode 100644
index 00000000..eb971180
--- /dev/null
+++ b/frontend/src/api/types/LoginRequest.ts
@@ -0,0 +1,4 @@
+export interface LoginRequest {
+ username: string;
+ password: string;
+}
diff --git a/frontend/src/api/types/PGPKey.ts b/frontend/src/api/types/PGPKey.ts
new file mode 100644
index 00000000..b79367fa
--- /dev/null
+++ b/frontend/src/api/types/PGPKey.ts
@@ -0,0 +1,3 @@
+export interface PGPKey {
+ key: string;
+}
diff --git a/frontend/src/api/types/PGPKeyRequest.ts b/frontend/src/api/types/PGPKeyRequest.ts
new file mode 100644
index 00000000..ac76fc76
--- /dev/null
+++ b/frontend/src/api/types/PGPKeyRequest.ts
@@ -0,0 +1,4 @@
+export interface PGPKeyRequest {
+ key: string;
+ server: string;
+}
diff --git a/frontend/src/api/types/Package.ts b/frontend/src/api/types/Package.ts
new file mode 100644
index 00000000..57f44c73
--- /dev/null
+++ b/frontend/src/api/types/Package.ts
@@ -0,0 +1,10 @@
+import type { PackageProperties } from "api/types/PackageProperties";
+import type { Remote } from "api/types/Remote";
+
+export interface Package {
+ base: string;
+ packager?: string;
+ packages: Record;
+ remote: Remote;
+ version: string;
+}
diff --git a/frontend/src/api/types/PackageActionRequest.ts b/frontend/src/api/types/PackageActionRequest.ts
new file mode 100644
index 00000000..9e49e814
--- /dev/null
+++ b/frontend/src/api/types/PackageActionRequest.ts
@@ -0,0 +1,10 @@
+import type { Patch } from "api/types/Patch";
+
+export interface PackageActionRequest {
+ packages: string[];
+ patches?: Patch[];
+ refresh?: boolean;
+ aur?: boolean;
+ local?: boolean;
+ manual?: boolean;
+}
diff --git a/frontend/src/api/types/PackageProperties.ts b/frontend/src/api/types/PackageProperties.ts
new file mode 100644
index 00000000..d27a69d8
--- /dev/null
+++ b/frontend/src/api/types/PackageProperties.ts
@@ -0,0 +1,16 @@
+export interface PackageProperties {
+ architecture?: string;
+ archive_size?: number;
+ build_date?: number;
+ check_depends?: string[];
+ depends?: string[];
+ description?: string;
+ filename?: string;
+ groups?: string[];
+ installed_size?: number;
+ licenses?: string[];
+ make_depends?: string[];
+ opt_depends?: string[];
+ provides?: string[];
+ url?: string;
+}
diff --git a/frontend/src/api/types/PackageRow.ts b/frontend/src/api/types/PackageRow.ts
new file mode 100644
index 00000000..315d5fe0
--- /dev/null
+++ b/frontend/src/api/types/PackageRow.ts
@@ -0,0 +1,15 @@
+import type { BuildStatus } from "api/types/BuildStatus";
+
+export interface PackageRow {
+ id: string;
+ base: string;
+ webUrl?: string;
+ version: string;
+ packages: string[];
+ groups: string[];
+ licenses: string[];
+ packager: string;
+ timestamp: string;
+ timestampValue: number;
+ status: BuildStatus;
+}
diff --git a/frontend/src/api/types/PackageStatus.ts b/frontend/src/api/types/PackageStatus.ts
new file mode 100644
index 00000000..323040a1
--- /dev/null
+++ b/frontend/src/api/types/PackageStatus.ts
@@ -0,0 +1,9 @@
+import type { Package } from "api/types/Package";
+import type { RepositoryId } from "api/types/RepositoryId";
+import type { Status } from "api/types/Status";
+
+export interface PackageStatus {
+ package: Package;
+ status: Status;
+ repository: RepositoryId;
+}
diff --git a/frontend/src/api/types/Patch.ts b/frontend/src/api/types/Patch.ts
new file mode 100644
index 00000000..bb1d8a77
--- /dev/null
+++ b/frontend/src/api/types/Patch.ts
@@ -0,0 +1,4 @@
+export interface Patch {
+ key: string;
+ value: string;
+}
diff --git a/frontend/src/api/types/Remote.ts b/frontend/src/api/types/Remote.ts
new file mode 100644
index 00000000..56616a30
--- /dev/null
+++ b/frontend/src/api/types/Remote.ts
@@ -0,0 +1,7 @@
+export interface Remote {
+ branch?: string;
+ git_url?: string;
+ path?: string;
+ source: string;
+ web_url?: string;
+}
diff --git a/frontend/src/api/types/RepositoryId.ts b/frontend/src/api/types/RepositoryId.ts
new file mode 100644
index 00000000..c02d06b8
--- /dev/null
+++ b/frontend/src/api/types/RepositoryId.ts
@@ -0,0 +1,4 @@
+export interface RepositoryId {
+ architecture: string;
+ repository: string;
+}
diff --git a/frontend/src/api/types/RepositoryStats.ts b/frontend/src/api/types/RepositoryStats.ts
new file mode 100644
index 00000000..d52eb8ea
--- /dev/null
+++ b/frontend/src/api/types/RepositoryStats.ts
@@ -0,0 +1,6 @@
+export interface RepositoryStats {
+ archive_size?: number;
+ bases?: number;
+ installed_size?: number;
+ packages?: number;
+}
diff --git a/frontend/src/api/types/Status.ts b/frontend/src/api/types/Status.ts
new file mode 100644
index 00000000..a28804ef
--- /dev/null
+++ b/frontend/src/api/types/Status.ts
@@ -0,0 +1,6 @@
+import type { BuildStatus } from "api/types/BuildStatus";
+
+export interface Status {
+ status: BuildStatus;
+ timestamp: number;
+}
diff --git a/frontend/src/components/charts/EventDurationLineChart.tsx b/frontend/src/components/charts/EventDurationLineChart.tsx
new file mode 100644
index 00000000..2f564ce8
--- /dev/null
+++ b/frontend/src/components/charts/EventDurationLineChart.tsx
@@ -0,0 +1,33 @@
+import type React from "react";
+import { Line } from "react-chartjs-2";
+import { Chart as ChartJS, CategoryScale, LinearScale, PointElement, LineElement, Tooltip, Legend } from "chart.js";
+import type { Event } from "api/types/Event";
+import { formatTimestamp } from "components/common/formatTimestamp";
+
+ChartJS.register(CategoryScale, LinearScale, PointElement, LineElement, Tooltip, Legend);
+
+interface EventDurationLineChartProps {
+ events: Event[];
+}
+
+export default function EventDurationLineChart({ events }: EventDurationLineChartProps): React.JSX.Element | null {
+ const updateEvents = events.filter((e) => e.event === "package-updated" && e.data?.took);
+
+ if (updateEvents.length === 0) {
+ return null;
+ }
+
+ const data = {
+ labels: updateEvents.map((e) => formatTimestamp(e.created)),
+ datasets: [
+ {
+ label: "update duration, s",
+ data: updateEvents.map((e) => (e.data as Record).took),
+ cubicInterpolationMode: "monotone" as const,
+ tension: 0.4,
+ },
+ ],
+ };
+
+ return ;
+}
diff --git a/frontend/src/components/charts/PackageCountBarChart.tsx b/frontend/src/components/charts/PackageCountBarChart.tsx
new file mode 100644
index 00000000..f533853a
--- /dev/null
+++ b/frontend/src/components/charts/PackageCountBarChart.tsx
@@ -0,0 +1,39 @@
+import type React from "react";
+import { Bar } from "react-chartjs-2";
+import { Chart as ChartJS, CategoryScale, LinearScale, BarElement, Tooltip, Legend } from "chart.js";
+import type { RepositoryStats } from "api/types/RepositoryStats";
+
+ChartJS.register(CategoryScale, LinearScale, BarElement, Tooltip, Legend);
+
+interface PackageCountBarChartProps {
+ stats: RepositoryStats;
+}
+
+export default function PackageCountBarChart({ stats }: PackageCountBarChartProps): React.JSX.Element {
+ const data = {
+ labels: ["packages"],
+ datasets: [
+ {
+ label: "archives",
+ data: [stats.packages ?? 0],
+ },
+ {
+ label: "bases",
+ data: [stats.bases ?? 0],
+ },
+ ],
+ };
+
+ return (
+
+ );
+}
diff --git a/frontend/src/components/charts/StatusPieChart.tsx b/frontend/src/components/charts/StatusPieChart.tsx
new file mode 100644
index 00000000..949593b9
--- /dev/null
+++ b/frontend/src/components/charts/StatusPieChart.tsx
@@ -0,0 +1,27 @@
+import type React from "react";
+import { Pie } from "react-chartjs-2";
+import { Chart as ChartJS, ArcElement, Tooltip, Legend } from "chart.js";
+import type { Counters } from "api/types/Counters";
+import { ChartColors } from "theme/status/ChartColors";
+
+ChartJS.register(ArcElement, Tooltip, Legend);
+
+interface StatusPieChartProps {
+ counters: Counters;
+}
+
+export default function StatusPieChart({ counters }: StatusPieChartProps): React.JSX.Element {
+ const labels = ["unknown", "pending", "building", "failed", "success"] as const;
+ const data = {
+ labels: labels.map((l) => l),
+ datasets: [
+ {
+ label: "packages in status",
+ data: labels.map((label) => counters[label]),
+ backgroundColor: labels.map((label) => ChartColors[label]),
+ },
+ ],
+ };
+
+ return ;
+}
diff --git a/frontend/src/components/common/AutoRefreshControl.tsx b/frontend/src/components/common/AutoRefreshControl.tsx
new file mode 100644
index 00000000..dae0aa08
--- /dev/null
+++ b/frontend/src/components/common/AutoRefreshControl.tsx
@@ -0,0 +1,75 @@
+import React, { useState } from "react";
+import { IconButton, Menu, MenuItem, Tooltip, ListItemIcon, ListItemText } from "@mui/material";
+import TimerIcon from "@mui/icons-material/Timer";
+import TimerOffIcon from "@mui/icons-material/TimerOff";
+import CheckIcon from "@mui/icons-material/Check";
+import type { AutoRefreshInterval } from "api/types/AutoRefreshInterval";
+
+interface AutoRefreshControlProps {
+ intervals: AutoRefreshInterval[];
+ enabled: boolean;
+ currentInterval: number;
+ onToggle: (enabled: boolean) => void;
+ onIntervalChange: (interval: number) => void;
+}
+
+export default function AutoRefreshControl({
+ intervals,
+ enabled,
+ currentInterval,
+ onToggle,
+ onIntervalChange,
+}: AutoRefreshControlProps): React.JSX.Element | null {
+ const [anchorEl, setAnchorEl] = useState(null);
+
+ if (intervals.length === 0) {
+ return null;
+ }
+
+ return (
+ <>
+
+ setAnchorEl(e.currentTarget)}
+ color={enabled ? "primary" : "default"}
+ >
+ {enabled ? : }
+
+
+
+ >
+ );
+}
diff --git a/frontend/src/components/common/CopyButton.tsx b/frontend/src/components/common/CopyButton.tsx
new file mode 100644
index 00000000..0aa594da
--- /dev/null
+++ b/frontend/src/components/common/CopyButton.tsx
@@ -0,0 +1,26 @@
+import React, { useState } from "react";
+import { IconButton, Tooltip } from "@mui/material";
+import ContentCopyIcon from "@mui/icons-material/ContentCopy";
+import CheckIcon from "@mui/icons-material/Check";
+
+interface CopyButtonProps {
+ getText: () => string;
+}
+
+export default function CopyButton({ getText }: CopyButtonProps): React.JSX.Element {
+ const [copied, setCopied] = useState(false);
+
+ const handleCopy = async (): Promise => {
+ await navigator.clipboard.writeText(getText());
+ setCopied(true);
+ setTimeout(() => setCopied(false), 2000);
+ };
+
+ return (
+
+ void handleCopy()}>
+ {copied ? : }
+
+
+ );
+}
diff --git a/frontend/src/components/common/formatTimestamp.ts b/frontend/src/components/common/formatTimestamp.ts
new file mode 100644
index 00000000..a4259465
--- /dev/null
+++ b/frontend/src/components/common/formatTimestamp.ts
@@ -0,0 +1,5 @@
+export function formatTimestamp(unixSeconds: number): string {
+ const d = new Date(unixSeconds * 1000);
+ const pad = (n: number): string => String(n).padStart(2, "0");
+ return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`;
+}
diff --git a/frontend/src/components/dialogs/DashboardDialog.tsx b/frontend/src/components/dialogs/DashboardDialog.tsx
new file mode 100644
index 00000000..b2532d11
--- /dev/null
+++ b/frontend/src/components/dialogs/DashboardDialog.tsx
@@ -0,0 +1,88 @@
+import type React from "react";
+import { Dialog, DialogTitle, DialogContent, DialogActions, Button, Grid, Typography, Box } from "@mui/material";
+import CloseIcon from "@mui/icons-material/Close";
+import { useQuery } from "@tanstack/react-query";
+import StatusPieChart from "components/charts/StatusPieChart";
+import PackageCountBarChart from "components/charts/PackageCountBarChart";
+import { Client } from "api/client/AhrimanClient";
+import { QueryKeys } from "api/QueryKeys";
+import { useRepository } from "hooks/useRepository";
+import { StatusHeaderStyles } from "theme/status/StatusHeaderStyles";
+import { formatTimestamp } from "components/common/formatTimestamp";
+import type { InternalStatus } from "api/types/InternalStatus";
+
+interface DashboardDialogProps {
+ open: boolean;
+ onClose: () => void;
+}
+
+export default function DashboardDialog({ open, onClose }: DashboardDialogProps): React.JSX.Element {
+ const { current } = useRepository();
+
+ const { data: status } = useQuery({
+ queryKey: current ? QueryKeys.status(current) : ["status"],
+ queryFn: () => Client.fetchStatus(current!),
+ enabled: !!current && open,
+ });
+
+ const headerStyle = status ? StatusHeaderStyles[status.status.status] : {};
+
+ return (
+
+ );
+}
diff --git a/frontend/src/components/dialogs/KeyImportDialog.tsx b/frontend/src/components/dialogs/KeyImportDialog.tsx
new file mode 100644
index 00000000..28439599
--- /dev/null
+++ b/frontend/src/components/dialogs/KeyImportDialog.tsx
@@ -0,0 +1,106 @@
+import React, { useState } from "react";
+import {
+ Dialog, DialogTitle, DialogContent, DialogActions, Button,
+ TextField, Box,
+} from "@mui/material";
+import PlayArrowIcon from "@mui/icons-material/PlayArrow";
+import RefreshIcon from "@mui/icons-material/Refresh";
+import { useNotification } from "hooks/useNotification";
+import { Client } from "api/client/AhrimanClient";
+import { ApiError } from "api/client/ApiError";
+import CopyButton from "components/common/CopyButton";
+
+interface KeyImportDialogProps {
+ open: boolean;
+ onClose: () => void;
+}
+
+export default function KeyImportDialog({ open, onClose }: KeyImportDialogProps): React.JSX.Element {
+ const { showSuccess, showError } = useNotification();
+
+ const [fingerprint, setFingerprint] = useState("");
+ const [server, setServer] = useState("keyserver.ubuntu.com");
+ const [keyBody, setKeyBody] = useState("");
+
+ const handleFetch = async (): Promise => {
+ if (!fingerprint || !server) {
+ return;
+ }
+ try {
+ const result = await Client.fetchPGPKey(fingerprint, server);
+ setKeyBody(result.key);
+ } catch (e) {
+ const detail = e instanceof ApiError ? e.detail : String(e);
+ showError("Action failed", `Could not fetch key: ${detail}`);
+ }
+ };
+
+ const handleImport = async (): Promise => {
+ if (!fingerprint || !server) {
+ return;
+ }
+ try {
+ await Client.importPGPKey({ key: fingerprint, server });
+ onClose();
+ showSuccess("Success", `Key ${fingerprint} has been imported`);
+ } catch (e) {
+ const detail = e instanceof ApiError ? e.detail : String(e);
+ showError("Action failed", `Could not import key ${fingerprint} from ${server}: ${detail}`);
+ }
+ };
+
+ const handleClose = (): void => {
+ setFingerprint("");
+ setServer("keyserver.ubuntu.com");
+ setKeyBody("");
+ onClose();
+ };
+
+ return (
+
+ );
+}
diff --git a/frontend/src/components/dialogs/LoginDialog.tsx b/frontend/src/components/dialogs/LoginDialog.tsx
new file mode 100644
index 00000000..7ffafa4f
--- /dev/null
+++ b/frontend/src/components/dialogs/LoginDialog.tsx
@@ -0,0 +1,91 @@
+import React, { useState } from "react";
+import {
+ Dialog, DialogTitle, DialogContent, DialogActions, Button, TextField,
+ InputAdornment, IconButton,
+} from "@mui/material";
+import VisibilityIcon from "@mui/icons-material/Visibility";
+import VisibilityOffIcon from "@mui/icons-material/VisibilityOff";
+import PersonIcon from "@mui/icons-material/Person";
+import { useAuth } from "hooks/useAuth";
+import { useNotification } from "hooks/useNotification";
+import { ApiError } from "api/client/ApiError";
+
+interface LoginDialogProps {
+ open: boolean;
+ onClose: () => void;
+}
+
+export default function LoginDialog({ open, onClose }: LoginDialogProps): React.JSX.Element {
+ const [username, setUsername] = useState("");
+ const [password, setPassword] = useState("");
+ const [showPassword, setShowPassword] = useState(false);
+ const { login } = useAuth();
+ const { showSuccess, showError } = useNotification();
+
+ const handleSubmit = async (): Promise => {
+ if (!username || !password) {
+ return;
+ }
+ try {
+ await login(username, password);
+ onClose();
+ showSuccess("Logged in", `Successfully logged in as ${username}`);
+ window.location.href = "/";
+ } catch (e) {
+ const detail = e instanceof ApiError ? e.detail : String(e);
+ if (username === "admin" && password === "admin") {
+ showError("Login error", "You've entered a password for user \"root\", did you make a typo in username?");
+ } else {
+ showError("Login error", `Could not login as ${username}: ${detail}`);
+ }
+ }
+ };
+
+ const handleClose = (): void => {
+ setUsername("");
+ setPassword("");
+ setShowPassword(false);
+ onClose();
+ };
+
+ return (
+
+ );
+}
diff --git a/frontend/src/components/dialogs/PackageAddDialog.tsx b/frontend/src/components/dialogs/PackageAddDialog.tsx
new file mode 100644
index 00000000..89b2f73c
--- /dev/null
+++ b/frontend/src/components/dialogs/PackageAddDialog.tsx
@@ -0,0 +1,194 @@
+import React, { useState, useCallback } from "react";
+import {
+ Dialog, DialogTitle, DialogContent, DialogActions, Button,
+ TextField, Autocomplete, Box, IconButton, FormControlLabel, Checkbox, Select, MenuItem, InputLabel, FormControl,
+} from "@mui/material";
+import PlayArrowIcon from "@mui/icons-material/PlayArrow";
+import AddIcon from "@mui/icons-material/Add";
+import DeleteIcon from "@mui/icons-material/Delete";
+import { useQuery } from "@tanstack/react-query";
+import { useRepository } from "hooks/useRepository";
+import { useNotification } from "hooks/useNotification";
+import { useDebounce } from "hooks/useDebounce";
+import { Client } from "api/client/AhrimanClient";
+import { ApiError } from "api/client/ApiError";
+import { QueryKeys } from "api/QueryKeys";
+import type { AURPackage } from "api/types/AURPackage";
+import type { RepositoryId } from "api/types/RepositoryId";
+
+interface EnvVar {
+ key: string;
+ value: string;
+}
+
+interface PackageAddDialogProps {
+ open: boolean;
+ onClose: () => void;
+}
+
+export default function PackageAddDialog({ open, onClose }: PackageAddDialogProps): React.JSX.Element {
+ const { repositories, current } = useRepository();
+ const { showSuccess, showError } = useNotification();
+
+ const [packageName, setPackageName] = useState("");
+ const [selectedRepo, setSelectedRepo] = useState("");
+ const [refresh, setRefresh] = useState(true);
+ const [envVars, setEnvVars] = useState([]);
+
+ const debouncedSearch = useDebounce(packageName, 500);
+
+ const { data: searchResults = [] } = useQuery({
+ queryKey: QueryKeys.search(debouncedSearch),
+ queryFn: () => Client.searchPackages(debouncedSearch),
+ enabled: debouncedSearch.length >= 3,
+ });
+
+ const getSelectedRepo = useCallback((): RepositoryId => {
+ if (selectedRepo) {
+ const repo = repositories.find(
+ (r) => `${r.architecture}-${r.repository}` === selectedRepo,
+ );
+ if (repo) {
+ return repo;
+ }
+ }
+ return current!;
+ }, [selectedRepo, repositories, current]);
+
+ const handleAdd = async (): Promise => {
+ if (!packageName) {
+ return;
+ }
+ const repo = getSelectedRepo();
+ try {
+ const patches = envVars.filter((v) => v.key);
+ await Client.addPackages(repo, {
+ packages: [packageName],
+ patches: patches.length > 0 ? patches : undefined,
+ refresh,
+ });
+ onClose();
+ showSuccess("Success", `Packages ${packageName} have been added`);
+ } catch (e) {
+ const detail = e instanceof ApiError ? e.detail : String(e);
+ showError("Action failed", `Package addition failed: ${detail}`);
+ }
+ };
+
+ const handleRequest = async (): Promise => {
+ if (!packageName) {
+ return;
+ }
+ const repo = getSelectedRepo();
+ try {
+ const patches = envVars.filter((v) => v.key);
+ await Client.requestPackages(repo, {
+ packages: [packageName],
+ patches: patches.length > 0 ? patches : undefined,
+ });
+ onClose();
+ showSuccess("Success", `Packages ${packageName} have been requested`);
+ } catch (e) {
+ const detail = e instanceof ApiError ? e.detail : String(e);
+ showError("Action failed", `Package request failed: ${detail}`);
+ }
+ };
+
+ const handleClose = (): void => {
+ setPackageName("");
+ setSelectedRepo("");
+ setRefresh(true);
+ setEnvVars([]);
+ onClose();
+ };
+
+ return (
+
+ );
+}
diff --git a/frontend/src/components/dialogs/PackageInfoDialog.tsx b/frontend/src/components/dialogs/PackageInfoDialog.tsx
new file mode 100644
index 00000000..ce91dcd4
--- /dev/null
+++ b/frontend/src/components/dialogs/PackageInfoDialog.tsx
@@ -0,0 +1,299 @@
+import React, { useState } from "react";
+import {
+ Dialog, DialogTitle, DialogContent, DialogActions, Button,
+ Grid, Typography, Link, Box, Tab, Tabs, IconButton, Chip, FormControlLabel, Checkbox,
+} from "@mui/material";
+import CloseIcon from "@mui/icons-material/Close";
+import PlayArrowIcon from "@mui/icons-material/PlayArrow";
+import DeleteIcon from "@mui/icons-material/Delete";
+import RefreshIcon from "@mui/icons-material/Refresh";
+import { useQuery, useQueryClient } from "@tanstack/react-query";
+import BuildLogsTab from "components/package/BuildLogsTab";
+import ChangesTab from "components/package/ChangesTab";
+import EventsTab from "components/package/EventsTab";
+import AutoRefreshControl from "components/common/AutoRefreshControl";
+import { useRepository } from "hooks/useRepository";
+import { useAuth } from "hooks/useAuth";
+import { useNotification } from "hooks/useNotification";
+import { useAutoRefresh } from "hooks/useAutoRefresh";
+import { Client } from "api/client/AhrimanClient";
+import { ApiError } from "api/client/ApiError";
+import { QueryKeys } from "api/QueryKeys";
+import { StatusHeaderStyles } from "theme/status/StatusHeaderStyles";
+import { formatTimestamp } from "components/common/formatTimestamp";
+import type { AutoRefreshInterval } from "api/types/AutoRefreshInterval";
+import type { Dependencies } from "api/types/Dependencies";
+import type { PackageProperties } from "api/types/PackageProperties";
+import type { PackageStatus } from "api/types/PackageStatus";
+import type { Patch } from "api/types/Patch";
+import type { RepositoryId } from "api/types/RepositoryId";
+
+interface PackageInfoDialogProps {
+ packageBase: string | null;
+ open: boolean;
+ onClose: () => void;
+ autorefreshIntervals: AutoRefreshInterval[];
+}
+
+function listToString(items: string[]): React.ReactNode {
+ const unique = [...new Set(items)].sort();
+ return unique.map((item, i) => (
+
+ {item}
+ {i < unique.length - 1 &&
}
+
+ ));
+}
+
+export default function PackageInfoDialog({ packageBase, open, onClose, autorefreshIntervals }: PackageInfoDialogProps): React.JSX.Element {
+ const { current } = useRepository();
+ const { enabled: authEnabled, username } = useAuth();
+ const { showSuccess, showError } = useNotification();
+ const queryClient = useQueryClient();
+ const hasAuth = !authEnabled || username !== null;
+
+ const [tabIndex, setTabIndex] = useState(0);
+ const [refreshDb, setRefreshDb] = useState(true);
+
+ const defaultInterval = autorefreshIntervals.find((i) => i.is_active)?.interval ?? 0;
+ const autoRefresh = useAutoRefresh("package-info-autoreload-button", defaultInterval);
+
+ const repo = current as RepositoryId;
+
+ const { data: packageData } = useQuery({
+ queryKey: packageBase && repo ? QueryKeys.package(packageBase, repo) : ["package-none"],
+ queryFn: () => Client.fetchPackage(packageBase!, repo),
+ enabled: !!packageBase && !!repo && open,
+ refetchInterval: autoRefresh.refetchInterval,
+ });
+
+ const { data: dependencies } = useQuery({
+ queryKey: packageBase && repo ? QueryKeys.dependencies(packageBase, repo) : ["deps-none"],
+ queryFn: () => Client.fetchDependencies(packageBase!, repo),
+ enabled: !!packageBase && !!repo && open,
+ });
+
+ const { data: patches = [] } = useQuery({
+ queryKey: packageBase ? QueryKeys.patches(packageBase) : ["patches-none"],
+ queryFn: () => Client.fetchPatches(packageBase!),
+ enabled: !!packageBase && open,
+ });
+
+ const description: PackageStatus | undefined = packageData?.[0];
+ const pkg = description?.package;
+ const status = description?.status;
+
+ const headerStyle = status ? StatusHeaderStyles[status.status] : {};
+
+ // Flatten depends from all sub-packages
+ const allDepends: string[] = pkg
+ ? Object.values(pkg.packages).flatMap((p: PackageProperties) => {
+ const pkgNames = Object.keys(pkg.packages);
+ const deps = (p.depends ?? []).filter((d: string) => !pkgNames.includes(d));
+ const makeDeps = (p.make_depends ?? []).filter((d: string) => !pkgNames.includes(d)).map((d: string) => `${d} (make)`);
+ const optDeps = (p.opt_depends ?? []).filter((d: string) => !pkgNames.includes(d)).map((d: string) => `${d} (optional)`);
+ return [...deps, ...makeDeps, ...optDeps];
+ })
+ : [];
+
+ const implicitDepends: string[] = dependencies
+ ? Object.values(dependencies.paths).flat()
+ : [];
+
+ const groups: string[] = pkg
+ ? Object.values(pkg.packages).flatMap((p: PackageProperties) => p.groups ?? [])
+ : [];
+
+ const licenses: string[] = pkg
+ ? Object.values(pkg.packages).flatMap((p: PackageProperties) => p.licenses ?? [])
+ : [];
+
+ const upstreamUrls: string[] = pkg
+ ? [...new Set(Object.values(pkg.packages).map((p: PackageProperties) => p.url).filter((u): u is string => !!u))].sort()
+ : [];
+
+ const aurUrl = pkg?.remote.web_url;
+
+ const packagesList: string[] = pkg
+ ? Object.entries(pkg.packages).map(([name, p]) => `${name}${p.description ? ` (${p.description})` : ""}`)
+ : [];
+
+ const handleUpdate = async (): Promise => {
+ if (!packageBase || !repo) {
+ return;
+ }
+ try {
+ await Client.addPackages(repo, { packages: [packageBase], refresh: refreshDb });
+ showSuccess("Success", `Run update for packages ${packageBase}`);
+ } catch (e) {
+ const detail = e instanceof ApiError ? e.detail : String(e);
+ showError("Action failed", `Package update failed: ${detail}`);
+ }
+ };
+
+ const handleRemove = async (): Promise => {
+ if (!packageBase || !repo) {
+ return;
+ }
+ try {
+ await Client.removePackages(repo, [packageBase]);
+ showSuccess("Success", `Packages ${packageBase} have been removed`);
+ onClose();
+ } catch (e) {
+ const detail = e instanceof ApiError ? e.detail : String(e);
+ showError("Action failed", `Could not remove package: ${detail}`);
+ }
+ };
+
+ const handleDeletePatch = async (key: string): Promise => {
+ if (!packageBase) {
+ return;
+ }
+ try {
+ await Client.deletePatch(packageBase, key);
+ void queryClient.invalidateQueries({ queryKey: QueryKeys.patches(packageBase) });
+ } catch (e) {
+ const detail = e instanceof ApiError ? e.detail : String(e);
+ showError("Action failed", `Could not delete variable: ${detail}`);
+ }
+ };
+
+ const handleReload = (): void => {
+ if (!packageBase || !repo) {
+ return;
+ }
+ void queryClient.invalidateQueries({ queryKey: QueryKeys.package(packageBase, repo) });
+ void queryClient.invalidateQueries({ queryKey: QueryKeys.logs(packageBase, repo) });
+ void queryClient.invalidateQueries({ queryKey: QueryKeys.changes(packageBase, repo) });
+ void queryClient.invalidateQueries({ queryKey: QueryKeys.events(repo, packageBase) });
+ void queryClient.invalidateQueries({ queryKey: QueryKeys.dependencies(packageBase, repo) });
+ void queryClient.invalidateQueries({ queryKey: QueryKeys.patches(packageBase) });
+ };
+
+ const handleClose = (): void => {
+ setTabIndex(0);
+ setRefreshDb(true);
+ onClose();
+ };
+
+ return (
+
+ );
+}
diff --git a/frontend/src/components/dialogs/PackageRebuildDialog.tsx b/frontend/src/components/dialogs/PackageRebuildDialog.tsx
new file mode 100644
index 00000000..1b444709
--- /dev/null
+++ b/frontend/src/components/dialogs/PackageRebuildDialog.tsx
@@ -0,0 +1,89 @@
+import React, { useState } from "react";
+import {
+ Dialog, DialogTitle, DialogContent, DialogActions, Button,
+ TextField, Select, MenuItem, InputLabel, FormControl,
+} from "@mui/material";
+import PlayArrowIcon from "@mui/icons-material/PlayArrow";
+import { useRepository } from "hooks/useRepository";
+import { useNotification } from "hooks/useNotification";
+import { Client } from "api/client/AhrimanClient";
+import { ApiError } from "api/client/ApiError";
+import type { RepositoryId } from "api/types/RepositoryId";
+
+interface PackageRebuildDialogProps {
+ open: boolean;
+ onClose: () => void;
+}
+
+export default function PackageRebuildDialog({ open, onClose }: PackageRebuildDialogProps): React.JSX.Element {
+ const { repositories, current } = useRepository();
+ const { showSuccess, showError } = useNotification();
+
+ const [dependency, setDependency] = useState("");
+ const [selectedRepo, setSelectedRepo] = useState("");
+
+ const getSelectedRepo = (): RepositoryId => {
+ if (selectedRepo) {
+ const repo = repositories.find((r) => `${r.architecture}-${r.repository}` === selectedRepo);
+ if (repo) {
+ return repo;
+ }
+ }
+ return current!;
+ };
+
+ const handleRebuild = async (): Promise => {
+ if (!dependency) {
+ return;
+ }
+ const repo = getSelectedRepo();
+ try {
+ await Client.rebuildPackages(repo, [dependency]);
+ onClose();
+ showSuccess("Success", `Repository rebuild has been run for packages which depend on ${dependency}`);
+ } catch (e) {
+ const detail = e instanceof ApiError ? e.detail : String(e);
+ showError("Action failed", `Repository rebuild failed: ${detail}`);
+ }
+ };
+
+ const handleClose = (): void => {
+ setDependency("");
+ setSelectedRepo("");
+ onClose();
+ };
+
+ return (
+
+ );
+}
diff --git a/frontend/src/components/layout/AppLayout.tsx b/frontend/src/components/layout/AppLayout.tsx
new file mode 100644
index 00000000..85d48a8c
--- /dev/null
+++ b/frontend/src/components/layout/AppLayout.tsx
@@ -0,0 +1,58 @@
+import React, { useState, useEffect } from "react";
+import { Container, Box } from "@mui/material";
+import { useQuery } from "@tanstack/react-query";
+import Navbar from "components/layout/Navbar";
+import Footer from "components/layout/Footer";
+import PackageTable from "components/table/PackageTable";
+import LoginDialog from "components/dialogs/LoginDialog";
+import { useAuth } from "hooks/useAuth";
+import { useRepository } from "hooks/useRepository";
+import { Client } from "api/client/AhrimanClient";
+import { QueryKeys } from "api/QueryKeys";
+import type { InfoResponse } from "api/types/InfoResponse";
+
+export default function AppLayout(): React.JSX.Element {
+ const { setAuthState } = useAuth();
+ const { setRepositories } = useRepository();
+ const [loginOpen, setLoginOpen] = useState(false);
+
+ const { data: info } = useQuery({
+ queryKey: QueryKeys.info,
+ queryFn: () => Client.fetchInfo(),
+ staleTime: Infinity,
+ });
+
+ // Sync info to contexts when loaded
+ useEffect(() => {
+ if (info) {
+ setAuthState({ enabled: info.auth, username: info.username ?? null });
+ setRepositories(info.repositories);
+ }
+ }, [info, setAuthState, setRepositories]);
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/frontend/src/components/layout/Footer.tsx b/frontend/src/components/layout/Footer.tsx
new file mode 100644
index 00000000..9480f5ab
--- /dev/null
+++ b/frontend/src/components/layout/Footer.tsx
@@ -0,0 +1,79 @@
+import type React from "react";
+import { Box, Link, Button, Typography } from "@mui/material";
+import GitHubIcon from "@mui/icons-material/GitHub";
+import LogoutIcon from "@mui/icons-material/Logout";
+import HomeIcon from "@mui/icons-material/Home";
+import { useAuth } from "hooks/useAuth";
+
+interface FooterProps {
+ version: string;
+ docsEnabled: boolean;
+ indexUrl?: string;
+ onLoginClick: () => void;
+}
+
+export default function Footer({ version, docsEnabled, indexUrl, onLoginClick }: FooterProps): React.JSX.Element {
+ const { enabled: authEnabled, username, logout } = useAuth();
+
+ const handleLogout = async (): Promise => {
+ await logout();
+ window.location.href = "/";
+ };
+
+ return (
+
+
+
+
+ ahriman {version}
+
+
+ releases
+
+
+ report a bug
+
+ {docsEnabled && (
+
+ api
+
+ )}
+
+
+ {indexUrl && (
+
+
+
+ repo index
+
+
+ )}
+
+ {authEnabled && (
+
+ {username ? (
+ } onClick={() => void handleLogout()} sx={{ textTransform: "none" }}>
+ logout ({username})
+
+ ) : (
+
+ )}
+
+ )}
+
+ );
+}
diff --git a/frontend/src/components/layout/Navbar.tsx b/frontend/src/components/layout/Navbar.tsx
new file mode 100644
index 00000000..3b3e0771
--- /dev/null
+++ b/frontend/src/components/layout/Navbar.tsx
@@ -0,0 +1,33 @@
+import type React from "react";
+import { Tabs, Tab, Box } from "@mui/material";
+import { useRepository } from "hooks/useRepository";
+
+export default function Navbar(): React.JSX.Element | null {
+ const { repositories, current, setCurrent } = useRepository();
+
+ if (repositories.length === 0 || !current) {
+ return null;
+ }
+
+ const currentIndex = repositories.findIndex(
+ (r) => r.architecture === current.architecture && r.repository === current.repository,
+ );
+
+ return (
+
+ = 0 ? currentIndex : 0}
+ onChange={(_, newValue: number) => setCurrent(repositories[newValue])}
+ variant="scrollable"
+ scrollButtons="auto"
+ >
+ {repositories.map((repo) => (
+
+ ))}
+
+
+ );
+}
diff --git a/frontend/src/components/package/BuildLogsTab.tsx b/frontend/src/components/package/BuildLogsTab.tsx
new file mode 100644
index 00000000..19b58d94
--- /dev/null
+++ b/frontend/src/components/package/BuildLogsTab.tsx
@@ -0,0 +1,188 @@
+import React, { useState, useEffect, useMemo, useRef } from "react";
+import { Box, Button, Menu, MenuItem, Typography } from "@mui/material";
+import ListIcon from "@mui/icons-material/List";
+import { useQuery } from "@tanstack/react-query";
+import hljs from "highlight.js/lib/core";
+import plaintext from "highlight.js/lib/languages/plaintext";
+import "highlight.js/styles/github.css";
+import { Client } from "api/client/AhrimanClient";
+import { QueryKeys } from "api/QueryKeys";
+import { formatTimestamp } from "components/common/formatTimestamp";
+import CopyButton from "components/common/CopyButton";
+import type { LogRecord } from "api/types/LogRecord";
+import type { RepositoryId } from "api/types/RepositoryId";
+
+hljs.registerLanguage("plaintext", plaintext);
+
+interface LogVersion {
+ version: string;
+ processId: string;
+ created: number;
+ logs: string;
+}
+
+interface BuildLogsTabProps {
+ packageBase: string;
+ repo: RepositoryId;
+ refetchInterval: number | false;
+}
+
+function convertLogs(records: LogRecord[], filter?: (r: LogRecord) => boolean): string {
+ return records
+ .filter(filter || Boolean)
+ .map((r) => `[${new Date(r.created * 1000).toISOString()}] ${r.message}`)
+ .join("\n");
+}
+
+export default function BuildLogsTab({ packageBase, repo, refetchInterval }: BuildLogsTabProps): React.JSX.Element {
+ const [activeIndex, setActiveIndex] = useState(0);
+ const [anchorEl, setAnchorEl] = useState(null);
+ const codeRef = useRef(null);
+ const preRef = useRef(null);
+ const initialScrollDone = useRef(false);
+
+ const { data: allLogs } = useQuery({
+ queryKey: QueryKeys.logs(packageBase, repo),
+ queryFn: () => Client.fetchLogs(packageBase, repo),
+ enabled: !!packageBase,
+ });
+
+ // Build version selectors from all logs
+ const versions = useMemo(() => {
+ if (!allLogs || allLogs.length === 0) {
+ return [];
+ }
+
+ const grouped: Record = {};
+ for (const record of allLogs) {
+ const key = `${record.version}-${record.process_id}`;
+ if (!grouped[key]) {
+ grouped[key] = { ...record, minCreated: record.created };
+ } else {
+ grouped[key].minCreated = Math.min(grouped[key].minCreated, record.created);
+ }
+ }
+
+ return Object.values(grouped)
+ .sort((a, b) => b.minCreated - a.minCreated)
+ .map((v) => ({
+ version: v.version,
+ processId: v.process_id,
+ created: v.minCreated,
+ logs: convertLogs(
+ allLogs,
+ (r) => r.version === v.version && r.process_id === v.process_id,
+ ),
+ }));
+ }, [allLogs]);
+
+ // Reset active index when data changes
+ const [prevAllLogs, setPrevAllLogs] = useState(allLogs);
+ if (allLogs !== prevAllLogs) {
+ setPrevAllLogs(allLogs);
+ setActiveIndex(0);
+ initialScrollDone.current = false;
+ }
+
+ // Refresh active version logs when using auto-refresh
+ const activeVersion = versions[activeIndex];
+ const { data: versionLogs } = useQuery({
+ queryKey: activeVersion
+ ? QueryKeys.logsVersion(packageBase, repo, activeVersion.version, activeVersion.processId)
+ : ["logs-none"],
+ queryFn: () =>
+ activeVersion
+ ? Client.fetchLogs(packageBase, repo, activeVersion.version, activeVersion.processId)
+ : Promise.resolve([]),
+ enabled: !!activeVersion && !!refetchInterval,
+ refetchInterval,
+ });
+
+ // Derive displayed logs: prefer fresh polled data when available
+ const displayedLogs = useMemo(() => {
+ if (versionLogs && versionLogs.length > 0) {
+ return convertLogs(versionLogs);
+ }
+ return activeVersion?.logs ?? "";
+ }, [versionLogs, activeVersion]);
+
+ // Highlight code
+ useEffect(() => {
+ if (codeRef.current && displayedLogs) {
+ codeRef.current.textContent = displayedLogs;
+ delete codeRef.current.dataset.highlighted;
+ hljs.highlightElement(codeRef.current);
+ }
+ }, [displayedLogs]);
+
+ // Auto-scroll: always scroll to bottom on initial load, then only if already near bottom
+ useEffect(() => {
+ if (preRef.current && displayedLogs) {
+ const el = preRef.current;
+ if (!initialScrollDone.current) {
+ el.scrollTop = el.scrollHeight;
+ initialScrollDone.current = true;
+ } else {
+ const isAtBottom = el.scrollTop + el.clientHeight >= el.scrollHeight - 50;
+ if (isAtBottom) {
+ el.scrollTop = el.scrollHeight;
+ }
+ }
+ }
+ }, [displayedLogs]);
+
+ return (
+
+
+ }
+ onClick={(e) => setAnchorEl(e.currentTarget)}
+ />
+
+
+
+
+
+
+
+
+ displayedLogs} />
+
+
+
+ );
+}
diff --git a/frontend/src/components/package/ChangesTab.tsx b/frontend/src/components/package/ChangesTab.tsx
new file mode 100644
index 00000000..d065c462
--- /dev/null
+++ b/frontend/src/components/package/ChangesTab.tsx
@@ -0,0 +1,60 @@
+import React, { useEffect, useRef } from "react";
+import { Box } from "@mui/material";
+import { useQuery } from "@tanstack/react-query";
+import hljs from "highlight.js/lib/core";
+import diff from "highlight.js/lib/languages/diff";
+import "highlight.js/styles/github.css";
+import { Client } from "api/client/AhrimanClient";
+import { QueryKeys } from "api/QueryKeys";
+import CopyButton from "components/common/CopyButton";
+import type { Changes } from "api/types/Changes";
+import type { RepositoryId } from "api/types/RepositoryId";
+
+hljs.registerLanguage("diff", diff);
+
+interface ChangesTabProps {
+ packageBase: string;
+ repo: RepositoryId;
+}
+
+export default function ChangesTab({ packageBase, repo }: ChangesTabProps): React.JSX.Element {
+ const codeRef = useRef(null);
+
+ const { data } = useQuery({
+ queryKey: QueryKeys.changes(packageBase, repo),
+ queryFn: () => Client.fetchChanges(packageBase, repo),
+ enabled: !!packageBase,
+ });
+
+ const changesText = data?.changes ?? "";
+
+ useEffect(() => {
+ if (codeRef.current) {
+ codeRef.current.textContent = changesText;
+ delete codeRef.current.dataset.highlighted;
+ hljs.highlightElement(codeRef.current);
+ }
+ }, [changesText]);
+
+ return (
+
+
+
+
+
+ changesText} />
+
+
+ );
+}
diff --git a/frontend/src/components/package/EventsTab.tsx b/frontend/src/components/package/EventsTab.tsx
new file mode 100644
index 00000000..23b54073
--- /dev/null
+++ b/frontend/src/components/package/EventsTab.tsx
@@ -0,0 +1,60 @@
+import type React from "react";
+import { Box } from "@mui/material";
+import { DataGrid, type GridColDef } from "@mui/x-data-grid";
+import { useQuery } from "@tanstack/react-query";
+import EventDurationLineChart from "components/charts/EventDurationLineChart";
+import { Client } from "api/client/AhrimanClient";
+import { QueryKeys } from "api/QueryKeys";
+import { formatTimestamp } from "components/common/formatTimestamp";
+import type { Event } from "api/types/Event";
+import type { RepositoryId } from "api/types/RepositoryId";
+
+interface EventsTabProps {
+ packageBase: string;
+ repo: RepositoryId;
+}
+
+interface EventRow {
+ id: number;
+ timestamp: string;
+ event: string;
+ message: string;
+}
+
+const columns: GridColDef[] = [
+ { field: "timestamp", headerName: "date", width: 180, align: "right", headerAlign: "right" },
+ { field: "event", headerName: "event", flex: 1 },
+ { field: "message", headerName: "description", flex: 2 },
+];
+
+export default function EventsTab({ packageBase, repo }: EventsTabProps): React.JSX.Element {
+ const { data: events = [] } = useQuery({
+ queryKey: QueryKeys.events(repo, packageBase),
+ queryFn: () => Client.fetchEvents(repo, packageBase, 30),
+ enabled: !!packageBase,
+ });
+
+ const rows: EventRow[] = events.map((e, idx) => ({
+ id: idx,
+ timestamp: formatTimestamp(e.created),
+ event: e.event,
+ message: e.message ?? "",
+ }));
+
+ return (
+
+
+
+
+ );
+}
diff --git a/frontend/src/components/table/PackageTable.tsx b/frontend/src/components/table/PackageTable.tsx
new file mode 100644
index 00000000..dde555b6
--- /dev/null
+++ b/frontend/src/components/table/PackageTable.tsx
@@ -0,0 +1,317 @@
+import React, { useState, useMemo, useCallback, useEffect } from "react";
+import {
+ DataGrid,
+ GridToolbarQuickFilter,
+ GridToolbarFilterButton,
+ type GridColDef,
+ type GridFilterModel,
+ type GridRowSelectionModel,
+ type GridRenderCellParams,
+} from "@mui/x-data-grid";
+import { Box, Link, Stack } from "@mui/material";
+import { useQuery, useQueryClient } from "@tanstack/react-query";
+import PackageTableToolbar from "components/table/PackageTableToolbar";
+import StatusCell from "components/table/StatusCell";
+import DashboardDialog from "components/dialogs/DashboardDialog";
+import PackageAddDialog from "components/dialogs/PackageAddDialog";
+import PackageRebuildDialog from "components/dialogs/PackageRebuildDialog";
+import KeyImportDialog from "components/dialogs/KeyImportDialog";
+import PackageInfoDialog from "components/dialogs/PackageInfoDialog";
+import { useRepository } from "hooks/useRepository";
+import { useAuth } from "hooks/useAuth";
+import { useNotification } from "hooks/useNotification";
+import { useAutoRefresh } from "hooks/useAutoRefresh";
+import { useLocalStorage } from "hooks/useLocalStorage";
+import { Client } from "api/client/AhrimanClient";
+import { ApiError } from "api/client/ApiError";
+import { QueryKeys } from "api/QueryKeys";
+import { formatTimestamp } from "components/common/formatTimestamp";
+import type { AutoRefreshInterval } from "api/types/AutoRefreshInterval";
+import type { InternalStatus } from "api/types/InternalStatus";
+import type { PackageRow } from "api/types/PackageRow";
+import type { PackageStatus } from "api/types/PackageStatus";
+
+interface PackageTableProps {
+ autorefreshIntervals: AutoRefreshInterval[];
+}
+
+function extractListProperties(pkg: PackageStatus["package"], property: "groups" | "licenses"): string[] {
+ return [
+ ...new Set(
+ Object.values(pkg.packages)
+ .flatMap((p) => p[property] ?? []),
+ ),
+ ].sort();
+}
+
+function toRow(ps: PackageStatus): PackageRow {
+ return {
+ id: ps.package.base,
+ base: ps.package.base,
+ webUrl: ps.package.remote.web_url ?? undefined,
+ version: ps.package.version,
+ packages: Object.keys(ps.package.packages).sort(),
+ groups: extractListProperties(ps.package, "groups"),
+ licenses: extractListProperties(ps.package, "licenses"),
+ packager: ps.package.packager ?? "",
+ timestamp: formatTimestamp(ps.status.timestamp),
+ timestampValue: ps.status.timestamp,
+ status: ps.status.status,
+ };
+}
+
+const PAGE_SIZE_OPTIONS = [10, 25, 50, 100];
+
+function SearchToolbar(): React.JSX.Element {
+ return (
+
+
+
+
+ );
+}
+
+export default function PackageTable({ autorefreshIntervals }: PackageTableProps): React.JSX.Element {
+ const { current } = useRepository();
+ const { enabled: authEnabled, username } = useAuth();
+ const { showSuccess, showError } = useNotification();
+ const queryClient = useQueryClient();
+
+ const hasAuth = !authEnabled || username !== null;
+
+ const defaultInterval = autorefreshIntervals.find((i) => i.is_active)?.interval ?? 0;
+ const autoRefresh = useAutoRefresh("table-autoreload-button", defaultInterval);
+
+ const [selectionModel, setSelectionModel] = useState([]);
+ const [dialogOpen, setDialogOpen] = useState(null);
+ const [selectedPackage, setSelectedPackage] = useState(null);
+
+ const [paginationModel, setPaginationModel] = useLocalStorage("ahriman-packages-pagination", {
+ pageSize: 10,
+ page: 0,
+ });
+ const [columnVisibility, setColumnVisibility] = useLocalStorage>(
+ "ahriman-packages-columns",
+ { groups: false, licenses: false, packager: false },
+ );
+ const [filterModel, setFilterModel] = useLocalStorage(
+ "ahriman-packages-filters",
+ { items: [] },
+ );
+
+ // Pause auto-refresh when dialog is open
+ const isDialogOpen = dialogOpen !== null || selectedPackage !== null;
+ const setPaused = autoRefresh.setPaused;
+ useEffect(() => {
+ setPaused(isDialogOpen);
+ }, [isDialogOpen, setPaused]);
+
+ const { data: packages = [], isLoading } = useQuery({
+ queryKey: current ? QueryKeys.packages(current) : ["packages"],
+ queryFn: () => (current ? Client.fetchPackages(current) : Promise.resolve([])),
+ enabled: !!current,
+ refetchInterval: autoRefresh.refetchInterval,
+ });
+
+ const { data: status } = useQuery({
+ queryKey: current ? QueryKeys.status(current) : ["status"],
+ queryFn: () => Client.fetchStatus(current!),
+ enabled: !!current,
+ refetchInterval: autoRefresh.refetchInterval,
+ });
+
+ const rows = useMemo(() => packages.map(toRow), [packages]);
+
+ const handleReload = useCallback(() => {
+ if (!current) {
+ return;
+ }
+ void queryClient.invalidateQueries({ queryKey: QueryKeys.packages(current) });
+ void queryClient.invalidateQueries({ queryKey: QueryKeys.status(current) });
+ }, [current, queryClient]);
+
+ const handleUpdate = useCallback(async () => {
+ if (!current) {
+ return;
+ }
+ const selected = selectionModel as string[];
+ try {
+ if (selected.length === 0) {
+ await Client.updatePackages(current, { packages: [] });
+ showSuccess("Success", "Repository update has been run");
+ } else {
+ await Client.addPackages(current, { packages: selected });
+ showSuccess("Success", `Run update for packages ${selected.join(", ")}`);
+ }
+ } catch (e) {
+ const detail = e instanceof ApiError ? e.detail : String(e);
+ showError("Action failed", `Packages update failed: ${detail}`);
+ }
+ }, [current, selectionModel, showSuccess, showError]);
+
+ const handleRefreshDb = useCallback(async () => {
+ if (!current) {
+ return;
+ }
+ try {
+ await Client.updatePackages(current, { packages: [], refresh: true, aur: false, local: false, manual: false });
+ showSuccess("Success", "Pacman database update has been requested");
+ } catch (e) {
+ const detail = e instanceof ApiError ? e.detail : String(e);
+ showError("Action failed", `Could not update pacman databases: ${detail}`);
+ }
+ }, [current, showSuccess, showError]);
+
+ const handleRemove = useCallback(async () => {
+ if (!current) {
+ return;
+ }
+ const selected = selectionModel as string[];
+ if (selected.length === 0) {
+ return;
+ }
+ try {
+ await Client.removePackages(current, selected);
+ showSuccess("Success", `Packages ${selected.join(", ")} have been removed`);
+ setSelectionModel([]);
+ } catch (e) {
+ const detail = e instanceof ApiError ? e.detail : String(e);
+ showError("Action failed", `Could not remove packages: ${detail}`);
+ }
+ }, [current, selectionModel, showSuccess, showError]);
+
+ const columns: GridColDef[] = useMemo(
+ () => [
+ {
+ field: "base",
+ headerName: "package base",
+ flex: 1,
+ minWidth: 150,
+ renderCell: (params: GridRenderCellParams) =>
+ params.row.webUrl ? (
+
+ {params.value as string}
+
+ ) : (
+ params.value as string
+ ),
+ },
+ { field: "version", headerName: "version", width: 180, align: "right", headerAlign: "right" },
+ {
+ field: "packages",
+ headerName: "packages",
+ flex: 1,
+ minWidth: 120,
+ valueGetter: (value: string[]) => (value ?? []).join(" "),
+ renderCell: (params: GridRenderCellParams) => (params.row.packages ?? []).map((item, i, arr) => (
+ {item}{i < arr.length - 1 &&
}
+ )),
+ sortComparator: (v1: string, v2: string) => v1.localeCompare(v2),
+ },
+ {
+ field: "groups",
+ headerName: "groups",
+ width: 150,
+ valueGetter: (value: string[]) => (value ?? []).join(" "),
+ renderCell: (params: GridRenderCellParams) => (params.row.groups ?? []).map((item, i, arr) => (
+ {item}{i < arr.length - 1 &&
}
+ )),
+ },
+ {
+ field: "licenses",
+ headerName: "licenses",
+ width: 150,
+ valueGetter: (value: string[]) => (value ?? []).join(" "),
+ renderCell: (params: GridRenderCellParams) => (params.row.licenses ?? []).map((item, i, arr) => (
+ {item}{i < arr.length - 1 &&
}
+ )),
+ },
+ { field: "packager", headerName: "packager", width: 150 },
+ {
+ field: "timestamp",
+ headerName: "last update",
+ width: 180,
+ align: "right",
+ headerAlign: "right",
+ },
+ {
+ field: "status",
+ headerName: "status",
+ width: 120,
+ align: "center",
+ headerAlign: "center",
+ renderCell: (params: GridRenderCellParams) => ,
+ },
+ ],
+ [],
+ );
+
+ return (
+
+ 0}
+ hasAuth={hasAuth}
+ repoStatus={status?.status.status}
+ autorefreshIntervals={autorefreshIntervals}
+ autoRefreshEnabled={autoRefresh.enabled}
+ autoRefreshInterval={autoRefresh.interval}
+ onAutoRefreshToggle={autoRefresh.setEnabled}
+ onAutoRefreshIntervalChange={autoRefresh.setInterval}
+ onDashboardClick={() => setDialogOpen("dashboard")}
+ onAddClick={() => setDialogOpen("add")}
+ onUpdateClick={() => void handleUpdate()}
+ onRefreshDbClick={() => void handleRefreshDb()}
+ onRebuildClick={() => setDialogOpen("rebuild")}
+ onRemoveClick={() => void handleRemove()}
+ onKeyImportClick={() => setDialogOpen("keyImport")}
+ onReloadClick={handleReload}
+ />
+
+ "auto"}
+ checkboxSelection
+ disableRowSelectionOnClick
+ rowSelectionModel={selectionModel}
+ onRowSelectionModelChange={setSelectionModel}
+ paginationModel={paginationModel}
+ onPaginationModelChange={setPaginationModel}
+ pageSizeOptions={PAGE_SIZE_OPTIONS}
+ columnVisibilityModel={columnVisibility}
+ onColumnVisibilityModelChange={setColumnVisibility}
+ filterModel={filterModel}
+ onFilterModelChange={setFilterModel}
+ slots={{ toolbar: SearchToolbar }}
+ initialState={{
+ sorting: { sortModel: [{ field: "base", sort: "asc" }] },
+ }}
+ onRowClick={(params: { row: PackageRow }, event) => {
+ const target = event.target as HTMLElement;
+ // Don't open info dialog when clicking checkbox or link
+ if (target.closest("input[type=\"checkbox\"]") || target.closest("a")) {
+ return;
+ }
+ setSelectedPackage(params.row.id);
+ }}
+ sx={{
+ "& .MuiDataGrid-row": { cursor: "pointer" },
+ height: 600,
+ }}
+ density="compact"
+ />
+
+ setDialogOpen(null)} />
+ setDialogOpen(null)} />
+ setDialogOpen(null)} />
+ setDialogOpen(null)} />
+ setSelectedPackage(null)}
+ autorefreshIntervals={autorefreshIntervals}
+ />
+
+ );
+}
diff --git a/frontend/src/components/table/PackageTableToolbar.tsx b/frontend/src/components/table/PackageTableToolbar.tsx
new file mode 100644
index 00000000..d0e4d59b
--- /dev/null
+++ b/frontend/src/components/table/PackageTableToolbar.tsx
@@ -0,0 +1,133 @@
+import React, { useState } from "react";
+import { Button, Menu, MenuItem, Box, Tooltip, IconButton, Divider } from "@mui/material";
+import InfoOutlinedIcon from "@mui/icons-material/InfoOutlined";
+import InventoryIcon from "@mui/icons-material/Inventory";
+import AddIcon from "@mui/icons-material/Add";
+import PlayArrowIcon from "@mui/icons-material/PlayArrow";
+import DownloadIcon from "@mui/icons-material/Download";
+import ReplayIcon from "@mui/icons-material/Replay";
+import DeleteIcon from "@mui/icons-material/Delete";
+import VpnKeyIcon from "@mui/icons-material/VpnKey";
+import RefreshIcon from "@mui/icons-material/Refresh";
+import AutoRefreshControl from "components/common/AutoRefreshControl";
+import type { AutoRefreshInterval } from "api/types/AutoRefreshInterval";
+import type { BuildStatus } from "api/types/BuildStatus";
+import { StatusColors } from "theme/status/StatusColors";
+
+interface PackageTableToolbarProps {
+ hasSelection: boolean;
+ hasAuth: boolean;
+ repoStatus?: BuildStatus;
+ autorefreshIntervals: AutoRefreshInterval[];
+ autoRefreshEnabled: boolean;
+ autoRefreshInterval: number;
+ onAutoRefreshToggle: (enabled: boolean) => void;
+ onAutoRefreshIntervalChange: (interval: number) => void;
+ onDashboardClick: () => void;
+ onAddClick: () => void;
+ onUpdateClick: () => void;
+ onRefreshDbClick: () => void;
+ onRebuildClick: () => void;
+ onRemoveClick: () => void;
+ onKeyImportClick: () => void;
+ onReloadClick: () => void;
+}
+
+export default function PackageTableToolbar({
+ hasSelection,
+ hasAuth,
+ repoStatus,
+ autorefreshIntervals,
+ autoRefreshEnabled,
+ autoRefreshInterval,
+ onAutoRefreshToggle,
+ onAutoRefreshIntervalChange,
+ onDashboardClick,
+ onAddClick,
+ onUpdateClick,
+ onRefreshDbClick,
+ onRebuildClick,
+ onRemoveClick,
+ onKeyImportClick,
+ onReloadClick,
+}: PackageTableToolbarProps): React.JSX.Element {
+ const [packagesAnchorEl, setPackagesAnchorEl] = useState(null);
+
+ return (
+
+
+
+
+
+
+
+ {hasAuth && (
+ <>
+ }
+ onClick={(e) => setPackagesAnchorEl(e.currentTarget)}
+ >
+ packages
+
+
+
+ } onClick={onKeyImportClick}>
+ import key
+
+ >
+ )}
+
+ } onClick={onReloadClick}>
+ reload
+
+
+
+
+ );
+}
diff --git a/frontend/src/components/table/StatusCell.tsx b/frontend/src/components/table/StatusCell.tsx
new file mode 100644
index 00000000..fea261bb
--- /dev/null
+++ b/frontend/src/components/table/StatusCell.tsx
@@ -0,0 +1,22 @@
+import type React from "react";
+import { Chip } from "@mui/material";
+import type { BuildStatus } from "api/types/BuildStatus";
+import { StatusColors } from "theme/status/StatusColors";
+
+interface StatusCellProps {
+ status: BuildStatus;
+}
+
+export default function StatusCell({ status }: StatusCellProps): React.JSX.Element {
+ return (
+
+ );
+}
diff --git a/frontend/src/contexts/AuthContext.ts b/frontend/src/contexts/AuthContext.ts
new file mode 100644
index 00000000..3183e78f
--- /dev/null
+++ b/frontend/src/contexts/AuthContext.ts
@@ -0,0 +1,14 @@
+import { createContext } from "react";
+
+interface AuthState {
+ enabled: boolean;
+ username: string | null;
+}
+
+export interface AuthContextValue extends AuthState {
+ setAuthState: (state: AuthState) => void;
+ login: (username: string, password: string) => Promise;
+ logout: () => Promise;
+}
+
+export const AuthContext = createContext(null);
diff --git a/frontend/src/contexts/AuthProvider.tsx b/frontend/src/contexts/AuthProvider.tsx
new file mode 100644
index 00000000..5b7aa459
--- /dev/null
+++ b/frontend/src/contexts/AuthProvider.tsx
@@ -0,0 +1,23 @@
+import React, { useState, useCallback, type ReactNode } from "react";
+import { Client } from "api/client/AhrimanClient";
+import { AuthContext } from "contexts/AuthContext";
+
+export function AuthProvider({ children }: { children: ReactNode }): React.JSX.Element {
+ const [state, setState] = useState({ enabled: false, username: null as string | null });
+
+ const login = useCallback(async (username: string, password: string) => {
+ await Client.login({ username, password });
+ setState((prev) => ({ ...prev, username }));
+ }, []);
+
+ const doLogout = useCallback(async () => {
+ await Client.logout();
+ setState((prev) => ({ ...prev, username: null }));
+ }, []);
+
+ return (
+
+ {children}
+
+ );
+}
diff --git a/frontend/src/contexts/NotificationContext.ts b/frontend/src/contexts/NotificationContext.ts
new file mode 100644
index 00000000..0b4793d8
--- /dev/null
+++ b/frontend/src/contexts/NotificationContext.ts
@@ -0,0 +1,8 @@
+import { createContext } from "react";
+
+export interface NotificationContextValue {
+ showSuccess: (title: string, message: string) => void;
+ showError: (title: string, message: string) => void;
+}
+
+export const NotificationContext = createContext(null);
diff --git a/frontend/src/contexts/NotificationProvider.tsx b/frontend/src/contexts/NotificationProvider.tsx
new file mode 100644
index 00000000..e55ee784
--- /dev/null
+++ b/frontend/src/contexts/NotificationProvider.tsx
@@ -0,0 +1,54 @@
+import React, { useState, useCallback, type ReactNode } from "react";
+import { Snackbar, Alert, type AlertColor } from "@mui/material";
+import { NotificationContext } from "contexts/NotificationContext";
+
+interface Notification {
+ id: number;
+ title: string;
+ message: string;
+ severity: AlertColor;
+}
+
+let nextId = 0;
+
+export function NotificationProvider({ children }: { children: ReactNode }): React.JSX.Element {
+ const [notifications, setNotifications] = useState([]);
+
+ const addNotification = useCallback((title: string, message: string, severity: AlertColor) => {
+ const id = nextId++;
+ setNotifications((prev) => [...prev, { id, title, message, severity }]);
+ }, []);
+
+ const removeNotification = useCallback((id: number) => {
+ setNotifications((prev) => prev.filter((n) => n.id !== id));
+ }, []);
+
+ const showSuccess = useCallback(
+ (title: string, message: string) => addNotification(title, message, "success"),
+ [addNotification],
+ );
+ const showError = useCallback(
+ (title: string, message: string) => addNotification(title, message, "error"),
+ [addNotification],
+ );
+
+ return (
+
+ {children}
+ {notifications.map((n) => (
+ removeNotification(n.id)}
+ anchorOrigin={{ vertical: "top", horizontal: "center" }}
+ >
+ removeNotification(n.id)} severity={n.severity} variant="filled" sx={{ width: "100%", maxWidth: 500 }}>
+ {n.title}
+ {n.message && ` - ${n.message}`}
+
+
+ ))}
+
+ );
+}
diff --git a/frontend/src/contexts/RepositoryContext.ts b/frontend/src/contexts/RepositoryContext.ts
new file mode 100644
index 00000000..62b23e74
--- /dev/null
+++ b/frontend/src/contexts/RepositoryContext.ts
@@ -0,0 +1,11 @@
+import { createContext } from "react";
+import type { RepositoryId } from "api/types/RepositoryId";
+
+export interface RepositoryContextValue {
+ repositories: RepositoryId[];
+ current: RepositoryId | null;
+ setRepositories: (repos: RepositoryId[]) => void;
+ setCurrent: (repo: RepositoryId) => void;
+}
+
+export const RepositoryContext = createContext(null);
diff --git a/frontend/src/contexts/RepositoryProvider.tsx b/frontend/src/contexts/RepositoryProvider.tsx
new file mode 100644
index 00000000..ef35be8a
--- /dev/null
+++ b/frontend/src/contexts/RepositoryProvider.tsx
@@ -0,0 +1,47 @@
+import React, { useState, useCallback, useEffect, type ReactNode } from "react";
+import type { RepositoryId } from "api/types/RepositoryId";
+import { RepositoryContext } from "contexts/RepositoryContext";
+
+function repoId(repo: RepositoryId): string {
+ return `${repo.architecture}-${repo.repository}`;
+}
+
+export function RepositoryProvider({ children }: { children: ReactNode }): React.JSX.Element {
+ const [repositories, setRepositories] = useState([]);
+ const [current, setCurrentState] = useState(null);
+
+ const setCurrent = useCallback((repo: RepositoryId) => {
+ setCurrentState(repo);
+ window.location.hash = repoId(repo);
+ }, []);
+
+ // Sync current repository when repositories list changes
+ const [prevRepositories, setPrevRepositories] = useState(repositories);
+ if (repositories !== prevRepositories) {
+ setPrevRepositories(repositories);
+ if (repositories.length > 0) {
+ const hash = window.location.hash.replace("#", "");
+ const match = repositories.find((r) => repoId(r) === hash);
+ setCurrentState(match || repositories[0]);
+ }
+ }
+
+ // Listen for hash changes
+ useEffect(() => {
+ const handler = (): void => {
+ const hash = window.location.hash.replace("#", "");
+ const match = repositories.find((r) => repoId(r) === hash);
+ if (match) {
+ setCurrentState(match);
+ }
+ };
+ window.addEventListener("hashchange", handler);
+ return () => window.removeEventListener("hashchange", handler);
+ }, [repositories]);
+
+ return (
+
+ {children}
+
+ );
+}
diff --git a/frontend/src/hooks/useAuth.ts b/frontend/src/hooks/useAuth.ts
new file mode 100644
index 00000000..f5264b37
--- /dev/null
+++ b/frontend/src/hooks/useAuth.ts
@@ -0,0 +1,10 @@
+import { useContext } from "react";
+import { AuthContext, type AuthContextValue } from "contexts/AuthContext";
+
+export function useAuth(): AuthContextValue {
+ const ctx = useContext(AuthContext);
+ if (!ctx) {
+ throw new Error("useAuth must be used within AuthProvider");
+ }
+ return ctx;
+}
diff --git a/frontend/src/hooks/useAutoRefresh.ts b/frontend/src/hooks/useAutoRefresh.ts
new file mode 100644
index 00000000..307cf721
--- /dev/null
+++ b/frontend/src/hooks/useAutoRefresh.ts
@@ -0,0 +1,52 @@
+import { useState, useCallback, type Dispatch, type SetStateAction } from "react";
+import { useLocalStorage } from "hooks/useLocalStorage";
+
+interface AutoRefreshState {
+ enabled: boolean;
+ interval: number;
+}
+
+interface AutoRefreshResult {
+ enabled: boolean;
+ interval: number;
+ paused: boolean;
+ refetchInterval: number | false;
+ setEnabled: (enabled: boolean) => void;
+ setInterval: (interval: number) => void;
+ setPaused: Dispatch>;
+}
+
+export function useAutoRefresh(key: string, defaultInterval: number = 0): AutoRefreshResult {
+ const [stored, setStored] = useLocalStorage(`ahriman-${key}`, {
+ enabled: defaultInterval > 0,
+ interval: defaultInterval,
+ });
+
+ const [paused, setPaused] = useState(false);
+
+ const refetchInterval: number | false = stored.enabled && !paused && stored.interval > 0 ? stored.interval : false;
+
+ const setEnabled = useCallback(
+ (enabled: boolean) => {
+ setStored((prev) => ({ ...prev, enabled }));
+ },
+ [setStored],
+ );
+
+ const setInterval = useCallback(
+ (interval: number) => {
+ setStored({ enabled: true, interval });
+ },
+ [setStored],
+ );
+
+ return {
+ enabled: stored.enabled,
+ interval: stored.interval,
+ paused,
+ refetchInterval,
+ setEnabled,
+ setInterval,
+ setPaused,
+ };
+}
diff --git a/frontend/src/hooks/useDebounce.ts b/frontend/src/hooks/useDebounce.ts
new file mode 100644
index 00000000..886e8d57
--- /dev/null
+++ b/frontend/src/hooks/useDebounce.ts
@@ -0,0 +1,12 @@
+import { useState, useEffect } from "react";
+
+export function useDebounce(value: T, delay: number): T {
+ const [debouncedValue, setDebouncedValue] = useState(value);
+
+ useEffect(() => {
+ const handler = setTimeout(() => setDebouncedValue(value), delay);
+ return () => clearTimeout(handler);
+ }, [value, delay]);
+
+ return debouncedValue;
+}
diff --git a/frontend/src/hooks/useLocalStorage.ts b/frontend/src/hooks/useLocalStorage.ts
new file mode 100644
index 00000000..ace59df3
--- /dev/null
+++ b/frontend/src/hooks/useLocalStorage.ts
@@ -0,0 +1,25 @@
+import { useState, useCallback, type Dispatch, type SetStateAction } from "react";
+
+export function useLocalStorage(key: string, initialValue: T): [T, Dispatch>] {
+ const [storedValue, setStoredValue] = useState(() => {
+ try {
+ const item = window.localStorage.getItem(key);
+ return item ? (JSON.parse(item) as T) : initialValue;
+ } catch {
+ return initialValue;
+ }
+ });
+
+ const setValue: Dispatch> = useCallback(
+ (value) => {
+ setStoredValue((prev) => {
+ const nextValue = value instanceof Function ? value(prev) : value;
+ window.localStorage.setItem(key, JSON.stringify(nextValue));
+ return nextValue;
+ });
+ },
+ [key],
+ );
+
+ return [storedValue, setValue];
+}
diff --git a/frontend/src/hooks/useNotification.ts b/frontend/src/hooks/useNotification.ts
new file mode 100644
index 00000000..22864c93
--- /dev/null
+++ b/frontend/src/hooks/useNotification.ts
@@ -0,0 +1,10 @@
+import { useContext } from "react";
+import { NotificationContext, type NotificationContextValue } from "contexts/NotificationContext";
+
+export function useNotification(): NotificationContextValue {
+ const ctx = useContext(NotificationContext);
+ if (!ctx) {
+ throw new Error("useNotification must be used within NotificationProvider");
+ }
+ return ctx;
+}
diff --git a/frontend/src/hooks/useRepository.ts b/frontend/src/hooks/useRepository.ts
new file mode 100644
index 00000000..374f64fa
--- /dev/null
+++ b/frontend/src/hooks/useRepository.ts
@@ -0,0 +1,10 @@
+import { useContext } from "react";
+import { RepositoryContext, type RepositoryContextValue } from "contexts/RepositoryContext";
+
+export function useRepository(): RepositoryContextValue {
+ const ctx = useContext(RepositoryContext);
+ if (!ctx) {
+ throw new Error("useRepository must be used within RepositoryProvider");
+ }
+ return ctx;
+}
diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx
new file mode 100644
index 00000000..49a06c2b
--- /dev/null
+++ b/frontend/src/main.tsx
@@ -0,0 +1,9 @@
+import { StrictMode } from "react";
+import { createRoot } from "react-dom/client";
+import App from "App";
+
+createRoot(document.getElementById("root")!).render(
+
+
+ ,
+);
diff --git a/frontend/src/theme/Theme.ts b/frontend/src/theme/Theme.ts
new file mode 100644
index 00000000..44be5900
--- /dev/null
+++ b/frontend/src/theme/Theme.ts
@@ -0,0 +1,67 @@
+import { createTheme } from "@mui/material/styles";
+
+// Bootswatch Cosmo-inspired palette
+const Theme = createTheme({
+ palette: {
+ primary: {
+ main: "#2780e3",
+ contrastText: "#fff",
+ },
+ secondary: {
+ main: "#373a3c",
+ contrastText: "#fff",
+ },
+ success: {
+ main: "#3fb618",
+ contrastText: "#fff",
+ },
+ error: {
+ main: "#ff0039",
+ contrastText: "#fff",
+ },
+ warning: {
+ main: "#ff7518",
+ contrastText: "#fff",
+ },
+ info: {
+ main: "#9954bb",
+ contrastText: "#fff",
+ },
+ background: {
+ default: "#fff",
+ paper: "#fff",
+ },
+ text: {
+ primary: "#373a3c",
+ secondary: "#6c757d",
+ },
+ },
+ typography: {
+ fontFamily: "\"Source Sans Pro\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif",
+ fontSize: 14,
+ },
+ components: {
+ MuiButton: {
+ styleOverrides: {
+ root: {
+ textTransform: "none",
+ },
+ },
+ },
+ MuiTab: {
+ styleOverrides: {
+ root: {
+ textTransform: "none",
+ },
+ },
+ },
+ MuiDialog: {
+ defaultProps: {
+ maxWidth: "lg",
+ fullWidth: true,
+ },
+ },
+ },
+});
+
+export default Theme;
diff --git a/frontend/src/theme/status/ChartColors.ts b/frontend/src/theme/status/ChartColors.ts
new file mode 100644
index 00000000..a812d9d7
--- /dev/null
+++ b/frontend/src/theme/status/ChartColors.ts
@@ -0,0 +1,9 @@
+import type { BuildStatus } from "api/types/BuildStatus";
+
+export const ChartColors: Record = {
+ unknown: "rgb(55, 58, 60)",
+ pending: "rgb(255, 117, 24)",
+ building: "rgb(255, 117, 24)",
+ failed: "rgb(255, 0, 57)",
+ success: "rgb(63, 182, 24)",
+};
diff --git a/frontend/src/theme/status/StatusBackgrounds.ts b/frontend/src/theme/status/StatusBackgrounds.ts
new file mode 100644
index 00000000..eecb4e70
--- /dev/null
+++ b/frontend/src/theme/status/StatusBackgrounds.ts
@@ -0,0 +1,9 @@
+import type { BuildStatus } from "api/types/BuildStatus";
+
+export const StatusBackgrounds: Record = {
+ unknown: "rgba(55, 58, 60, 0.1)",
+ pending: "rgba(255, 117, 24, 0.1)",
+ building: "rgba(255, 117, 24, 0.1)",
+ failed: "rgba(255, 0, 57, 0.1)",
+ success: "rgba(63, 182, 24, 0.1)",
+};
diff --git a/frontend/src/theme/status/StatusColors.ts b/frontend/src/theme/status/StatusColors.ts
new file mode 100644
index 00000000..713cda60
--- /dev/null
+++ b/frontend/src/theme/status/StatusColors.ts
@@ -0,0 +1,9 @@
+import type { BuildStatus } from "api/types/BuildStatus";
+
+export const StatusColors: Record = {
+ unknown: "#373a3c",
+ pending: "#ff7518",
+ building: "#ff7518",
+ failed: "#ff0039",
+ success: "#3fb618",
+};
diff --git a/frontend/src/theme/status/StatusHeaderStyles.ts b/frontend/src/theme/status/StatusHeaderStyles.ts
new file mode 100644
index 00000000..b28ed856
--- /dev/null
+++ b/frontend/src/theme/status/StatusHeaderStyles.ts
@@ -0,0 +1,9 @@
+import type { BuildStatus } from "api/types/BuildStatus";
+
+export const StatusHeaderStyles: Record = {
+ unknown: { backgroundColor: "#373a3c", color: "#fff" },
+ pending: { backgroundColor: "#ff7518", color: "#fff" },
+ building: { backgroundColor: "#ff7518", color: "#fff" },
+ failed: { backgroundColor: "#ff0039", color: "#fff" },
+ success: { backgroundColor: "#3fb618", color: "#fff" },
+};
diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json
new file mode 100644
index 00000000..be6953d2
--- /dev/null
+++ b/frontend/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "react-jsx",
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true,
+ "baseUrl": "src"
+ },
+ "include": ["src"]
+}
diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts
new file mode 100644
index 00000000..82a71619
--- /dev/null
+++ b/frontend/vite.config.ts
@@ -0,0 +1,41 @@
+import { defineConfig } from "vite";
+import react from "@vitejs/plugin-react";
+import tsconfigPaths from "vite-tsconfig-paths";
+import path from "path";
+import fs from "fs";
+import type { Plugin } from "vite";
+
+function renameIndexHtml(): Plugin {
+ return {
+ name: "rename-index-html",
+ closeBundle() {
+ const outDir = path.resolve(__dirname, "../package/share/ahriman/templates");
+ const src = path.join(outDir, "index.html");
+ const dest = path.join(outDir, "build-status.jinja2");
+ if (fs.existsSync(src)) {
+ fs.renameSync(src, dest);
+ }
+ },
+ };
+}
+
+export default defineConfig({
+ plugins: [react(), tsconfigPaths(), renameIndexHtml()],
+ base: "/",
+ build: {
+ outDir: path.resolve(__dirname, "../package/share/ahriman/templates"),
+ emptyOutDir: false,
+ rollupOptions: {
+ output: {
+ entryFileNames: "static/[name].js",
+ chunkFileNames: "static/[name].js",
+ assetFileNames: "static/[name].[ext]",
+ },
+ },
+ },
+ server: {
+ proxy: {
+ "/api": "http://localhost:8080",
+ },
+ },
+});
diff --git a/package/share/ahriman/templates/build-status.jinja2 b/package/share/ahriman/templates/build-status.jinja2
index a1a62940..66683a18 100644
--- a/package/share/ahriman/templates/build-status.jinja2
+++ b/package/share/ahriman/templates/build-status.jinja2
@@ -1,191 +1,14 @@
+
+
ahriman
-
-
-
- {% include "utils/style.jinja2" %}
- {% include "user-style.jinja2" ignore missing %}
+
+
+
-
-
- {% include "utils/bootstrap-scripts.jinja2" %}
-
-
-
-
-
-
-
-
-
-
-
- |
- package base |
- version |
- packages |
- groups |
- licenses |
- packager |
- last update |
- status |
-
-
-
-
-
-
-
-
-
- {% if auth.enabled %}
- {% include "build-status/login-modal.jinja2" %}
- {% endif %}
-
- {% include "build-status/alerts.jinja2" %}
-
- {% include "build-status/dashboard.jinja2" %}
- {% include "build-status/package-add-modal.jinja2" %}
- {% include "build-status/package-rebuild-modal.jinja2" %}
- {% include "build-status/key-import-modal.jinja2" %}
-
- {% include "build-status/package-info-modal.jinja2" %}
-
- {% include "build-status/table.jinja2" %}
-
+
-
diff --git a/package/share/ahriman/templates/build-status/alerts.jinja2 b/package/share/ahriman/templates/build-status/alerts.jinja2
deleted file mode 100644
index b844e50a..00000000
--- a/package/share/ahriman/templates/build-status/alerts.jinja2
+++ /dev/null
@@ -1,51 +0,0 @@
-
diff --git a/package/share/ahriman/templates/build-status/dashboard.jinja2 b/package/share/ahriman/templates/build-status/dashboard.jinja2
deleted file mode 100644
index bbe16a4b..00000000
--- a/package/share/ahriman/templates/build-status/dashboard.jinja2
+++ /dev/null
@@ -1,157 +0,0 @@
-
-
-
diff --git a/package/share/ahriman/templates/build-status/key-import-modal.jinja2 b/package/share/ahriman/templates/build-status/key-import-modal.jinja2
deleted file mode 100644
index 66a03160..00000000
--- a/package/share/ahriman/templates/build-status/key-import-modal.jinja2
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
-
diff --git a/package/share/ahriman/templates/build-status/login-modal.jinja2 b/package/share/ahriman/templates/build-status/login-modal.jinja2
deleted file mode 100644
index 6e57469b..00000000
--- a/package/share/ahriman/templates/build-status/login-modal.jinja2
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
diff --git a/package/share/ahriman/templates/build-status/package-add-modal.jinja2 b/package/share/ahriman/templates/build-status/package-add-modal.jinja2
deleted file mode 100644
index 969c8e5e..00000000
--- a/package/share/ahriman/templates/build-status/package-add-modal.jinja2
+++ /dev/null
@@ -1,188 +0,0 @@
-
-
-
diff --git a/package/share/ahriman/templates/build-status/package-info-modal.jinja2 b/package/share/ahriman/templates/build-status/package-info-modal.jinja2
deleted file mode 100644
index 315cf05f..00000000
--- a/package/share/ahriman/templates/build-status/package-info-modal.jinja2
+++ /dev/null
@@ -1,586 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Environment variables
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- | date |
- event |
- description |
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/package/share/ahriman/templates/build-status/package-rebuild-modal.jinja2 b/package/share/ahriman/templates/build-status/package-rebuild-modal.jinja2
deleted file mode 100644
index fb30be84..00000000
--- a/package/share/ahriman/templates/build-status/package-rebuild-modal.jinja2
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
diff --git a/package/share/ahriman/templates/build-status/table.jinja2 b/package/share/ahriman/templates/build-status/table.jinja2
deleted file mode 100644
index 32ec113f..00000000
--- a/package/share/ahriman/templates/build-status/table.jinja2
+++ /dev/null
@@ -1,247 +0,0 @@
-
diff --git a/package/share/ahriman/templates/static/index.css b/package/share/ahriman/templates/static/index.css
new file mode 100644
index 00000000..c1ddc345
--- /dev/null
+++ b/package/share/ahriman/templates/static/index.css
@@ -0,0 +1,10 @@
+pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
+ Theme: GitHub
+ Description: Light theme as seen on github.com
+ Author: github.com
+ Maintainer: @Hirse
+ Updated: 2021-05-15
+
+ Outdated base version: https://github.com/primer/github-syntax-light
+ Current colors taken from GitHub's CSS
+*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}
diff --git a/package/share/ahriman/templates/static/index.js b/package/share/ahriman/templates/static/index.js
new file mode 100644
index 00000000..f8f55f41
--- /dev/null
+++ b/package/share/ahriman/templates/static/index.js
@@ -0,0 +1,328 @@
+var SF=Object.defineProperty;var Zw=e=>{throw TypeError(e)};var kF=(e,t,n)=>t in e?SF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Fe=(e,t,n)=>kF(e,typeof t!="symbol"?t+"":t,n),Mb=(e,t,n)=>t.has(e)||Zw("Cannot "+n);var W=(e,t,n)=>(Mb(e,t,"read from private field"),n?n.call(e):t.get(e)),Ue=(e,t,n)=>t.has(e)?Zw("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),$e=(e,t,n,r)=>(Mb(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),ut=(e,t,n)=>(Mb(e,t,"access private method"),n);var nh=(e,t,n,r)=>({set _(o){$e(e,t,o,n)},get _(){return W(e,t,r)}});function PF(e,t){for(var n=0;nr[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const i of s.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(o){if(o.ep)return;o.ep=!0;const s=n(o);fetch(o.href,s)}})();function Ug(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Vs(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}),n}var ZI={exports:{}},Kg={},JI={exports:{}},lt={};/**
+ * @license React
+ * react.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */var _f=Symbol.for("react.element"),MF=Symbol.for("react.portal"),IF=Symbol.for("react.fragment"),EF=Symbol.for("react.strict_mode"),_F=Symbol.for("react.profiler"),TF=Symbol.for("react.provider"),RF=Symbol.for("react.context"),OF=Symbol.for("react.forward_ref"),$F=Symbol.for("react.suspense"),FF=Symbol.for("react.memo"),LF=Symbol.for("react.lazy"),Jw=Symbol.iterator;function DF(e){return e===null||typeof e!="object"?null:(e=Jw&&e[Jw]||e["@@iterator"],typeof e=="function"?e:null)}var eE={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},tE=Object.assign,nE={};function Vc(e,t,n){this.props=e,this.context=t,this.refs=nE,this.updater=n||eE}Vc.prototype.isReactComponent={};Vc.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Vc.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function rE(){}rE.prototype=Vc.prototype;function Dx(e,t,n){this.props=e,this.context=t,this.refs=nE,this.updater=n||eE}var Ax=Dx.prototype=new rE;Ax.constructor=Dx;tE(Ax,Vc.prototype);Ax.isPureReactComponent=!0;var eS=Array.isArray,oE=Object.prototype.hasOwnProperty,jx={current:null},sE={key:!0,ref:!0,__self:!0,__source:!0};function iE(e,t,n){var r,o={},s=null,i=null;if(t!=null)for(r in t.ref!==void 0&&(i=t.ref),t.key!==void 0&&(s=""+t.key),t)oE.call(t,r)&&!sE.hasOwnProperty(r)&&(o[r]=t[r]);var l=arguments.length-2;if(l===1)o.children=n;else if(1>>1,B=F[H];if(0>>1;Ho(Z,z))Qo(U,Z)?(F[H]=U,F[Q]=z,H=Q):(F[H]=Z,F[V]=z,H=V);else if(Qo(U,z))F[H]=U,F[Q]=z,H=Q;else break e}}return j}function o(F,j){var z=F.sortIndex-j.sortIndex;return z!==0?z:F.id-j.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var i=Date,l=i.now();e.unstable_now=function(){return i.now()-l}}var a=[],c=[],u=1,d=null,f=3,h=!1,g=!1,m=!1,C=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(F){for(var j=n(c);j!==null;){if(j.callback===null)r(c);else if(j.startTime<=F)r(c),j.sortIndex=j.expirationTime,t(a,j);else break;j=n(c)}}function S(F){if(m=!1,w(F),!g)if(n(a)!==null)g=!0,_(k);else{var j=n(c);j!==null&&O(S,j.startTime-F)}}function k(F,j){g=!1,m&&(m=!1,b(I),I=-1),h=!0;var z=f;try{for(w(j),d=n(a);d!==null&&(!(d.expirationTime>j)||F&&!D());){var H=d.callback;if(typeof H=="function"){d.callback=null,f=d.priorityLevel;var B=H(d.expirationTime<=j);j=e.unstable_now(),typeof B=="function"?d.callback=B:d===n(a)&&r(a),w(j)}else r(a);d=n(a)}if(d!==null)var G=!0;else{var V=n(c);V!==null&&O(S,V.startTime-j),G=!1}return G}finally{d=null,f=z,h=!1}}var P=!1,M=null,I=-1,E=5,T=-1;function D(){return!(e.unstable_now()-TF||125H?(F.sortIndex=z,t(c,F),n(a)===null&&F===n(c)&&(m?(b(I),I=-1):m=!0,O(S,z-H))):(F.sortIndex=B,t(a,F),g||h||(g=!0,_(k))),F},e.unstable_shouldYield=D,e.unstable_wrapCallback=function(F){var j=f;return function(){var z=f;f=j;try{return F.apply(this,arguments)}finally{f=z}}}})(dE);uE.exports=dE;var KF=uE.exports;/**
+ * @license React
+ * react-dom.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */var qF=p,jr=KF;function Ce(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Gv=Object.prototype.hasOwnProperty,XF=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,nS={},rS={};function YF(e){return Gv.call(rS,e)?!0:Gv.call(nS,e)?!1:XF.test(e)?rS[e]=!0:(nS[e]=!0,!1)}function QF(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function ZF(e,t,n,r){if(t===null||typeof t>"u"||QF(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function rr(e,t,n,r,o,s,i){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=i}var Nn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Nn[e]=new rr(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Nn[t]=new rr(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Nn[e]=new rr(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Nn[e]=new rr(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Nn[e]=new rr(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Nn[e]=new rr(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Nn[e]=new rr(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Nn[e]=new rr(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Nn[e]=new rr(e,5,!1,e.toLowerCase(),null,!1,!1)});var Nx=/[\-:]([a-z])/g;function Hx(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Nx,Hx);Nn[t]=new rr(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Nx,Hx);Nn[t]=new rr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Nx,Hx);Nn[t]=new rr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Nn[e]=new rr(e,1,!1,e.toLowerCase(),null,!1,!1)});Nn.xlinkHref=new rr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Nn[e]=new rr(e,1,!1,e.toLowerCase(),null,!0,!0)});function Bx(e,t,n,r){var o=Nn.hasOwnProperty(t)?Nn[t]:null;(o!==null?o.type!==0:r||!(2l||o[i]!==s[l]){var a=`
+`+o[i].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=i&&0<=l);break}}}finally{_b=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Xu(e):""}function JF(e){switch(e.tag){case 5:return Xu(e.type);case 16:return Xu("Lazy");case 13:return Xu("Suspense");case 19:return Xu("SuspenseList");case 0:case 2:case 15:return e=Tb(e.type,!1),e;case 11:return e=Tb(e.type.render,!1),e;case 1:return e=Tb(e.type,!0),e;default:return""}}function Xv(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Ta:return"Fragment";case _a:return"Portal";case Uv:return"Profiler";case Vx:return"StrictMode";case Kv:return"Suspense";case qv:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case pE:return(e.displayName||"Context")+".Consumer";case hE:return(e._context.displayName||"Context")+".Provider";case Wx:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Gx:return t=e.displayName||null,t!==null?t:Xv(e.type)||"Memo";case li:t=e._payload,e=e._init;try{return Xv(e(t))}catch{}}return null}function eL(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Xv(t);case 8:return t===Vx?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ki(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function mE(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function tL(e){var t=mE(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(i){r=""+i,s.call(this,i)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(i){r=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function sh(e){e._valueTracker||(e._valueTracker=tL(e))}function bE(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=mE(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function _p(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Yv(e,t){var n=t.checked;return Yt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function sS(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ki(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function vE(e,t){t=t.checked,t!=null&&Bx(e,"checked",t,!1)}function Qv(e,t){vE(e,t);var n=Ki(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Zv(e,t.type,n):t.hasOwnProperty("defaultValue")&&Zv(e,t.type,Ki(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function iS(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Zv(e,t,n){(t!=="number"||_p(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Yu=Array.isArray;function Ua(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=ih.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Od(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var dd={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},nL=["Webkit","ms","Moz","O"];Object.keys(dd).forEach(function(e){nL.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),dd[t]=dd[e]})});function wE(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||dd.hasOwnProperty(e)&&dd[e]?(""+t).trim():t+"px"}function SE(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=wE(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}var rL=Yt({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ty(e,t){if(t){if(rL[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Ce(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Ce(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Ce(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Ce(62))}}function ny(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ry=null;function Ux(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var oy=null,Ka=null,qa=null;function cS(e){if(e=Of(e)){if(typeof oy!="function")throw Error(Ce(280));var t=e.stateNode;t&&(t=Zg(t),oy(e.stateNode,e.type,t))}}function kE(e){Ka?qa?qa.push(e):qa=[e]:Ka=e}function PE(){if(Ka){var e=Ka,t=qa;if(qa=Ka=null,cS(e),t)for(e=0;e>>=0,e===0?32:31-(pL(e)/gL|0)|0}var lh=64,ah=4194304;function Qu(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function $p(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,s=e.pingedLanes,i=n&268435455;if(i!==0){var l=i&~o;l!==0?r=Qu(l):(s&=i,s!==0&&(r=Qu(s)))}else i=n&~o,i!==0?r=Qu(i):s!==0&&(r=Qu(s));if(r===0)return 0;if(t!==0&&t!==r&&!(t&o)&&(o=r&-r,s=t&-t,o>=s||o===16&&(s&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Tf(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ro(t),e[t]=n}function yL(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=hd),vS=" ",yS=!1;function GE(e,t){switch(e){case"keyup":return KL.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function UE(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ra=!1;function XL(e,t){switch(e){case"compositionend":return UE(t);case"keypress":return t.which!==32?null:(yS=!0,vS);case"textInput":return e=t.data,e===vS&&yS?null:e;default:return null}}function YL(e,t){if(Ra)return e==="compositionend"||!e0&&GE(e,t)?(e=VE(),Jh=Qx=Si=null,Ra=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=SS(n)}}function YE(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?YE(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function QE(){for(var e=window,t=_p();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=_p(e.document)}return t}function t0(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function sD(e){var t=QE(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&YE(n.ownerDocument.documentElement,n)){if(r!==null&&t0(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,s=Math.min(r.start,o);r=r.end===void 0?s:Math.min(r.end,o),!e.extend&&s>r&&(o=r,r=s,s=o),o=kS(n,s);var i=kS(n,r);o&&i&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),s>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Oa=null,uy=null,gd=null,dy=!1;function PS(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;dy||Oa==null||Oa!==_p(r)||(r=Oa,"selectionStart"in r&&t0(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),gd&&jd(gd,r)||(gd=r,r=Dp(uy,"onSelect"),0La||(e.current=by[La],by[La]=null,La--)}function jt(e,t){La++,by[La]=e.current,e.current=t}var qi={},Xn=Ji(qi),br=Ji(!1),Vl=qi;function vc(e,t){var n=e.type.contextTypes;if(!n)return qi;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},s;for(s in n)o[s]=t[s];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function vr(e){return e=e.childContextTypes,e!=null}function jp(){Ht(br),Ht(Xn)}function OS(e,t,n){if(Xn.current!==qi)throw Error(Ce(168));jt(Xn,t),jt(br,n)}function i_(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(Ce(108,eL(e)||"Unknown",o));return Yt({},n,r)}function zp(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||qi,Vl=Xn.current,jt(Xn,e),jt(br,br.current),!0}function $S(e,t,n){var r=e.stateNode;if(!r)throw Error(Ce(169));n?(e=i_(e,t,Vl),r.__reactInternalMemoizedMergedChildContext=e,Ht(br),Ht(Xn),jt(Xn,e)):Ht(br),jt(br,n)}var ks=null,Jg=!1,Wb=!1;function l_(e){ks===null?ks=[e]:ks.push(e)}function bD(e){Jg=!0,l_(e)}function el(){if(!Wb&&ks!==null){Wb=!0;var e=0,t=It;try{var n=ks;for(It=1;e>=i,o-=i,_s=1<<32-Ro(t)+o|n<I?(E=M,M=null):E=M.sibling;var T=f(b,M,w[I],S);if(T===null){M===null&&(M=E);break}e&&M&&T.alternate===null&&t(b,M),y=s(T,y,I),P===null?k=T:P.sibling=T,P=T,M=E}if(I===w.length)return n(b,M),Gt&&cl(b,I),k;if(M===null){for(;II?(E=M,M=null):E=M.sibling;var D=f(b,M,T.value,S);if(D===null){M===null&&(M=E);break}e&&M&&D.alternate===null&&t(b,M),y=s(D,y,I),P===null?k=D:P.sibling=D,P=D,M=E}if(T.done)return n(b,M),Gt&&cl(b,I),k;if(M===null){for(;!T.done;I++,T=w.next())T=d(b,T.value,S),T!==null&&(y=s(T,y,I),P===null?k=T:P.sibling=T,P=T);return Gt&&cl(b,I),k}for(M=r(b,M);!T.done;I++,T=w.next())T=h(M,b,I,T.value,S),T!==null&&(e&&T.alternate!==null&&M.delete(T.key===null?I:T.key),y=s(T,y,I),P===null?k=T:P.sibling=T,P=T);return e&&M.forEach(function($){return t(b,$)}),Gt&&cl(b,I),k}function C(b,y,w,S){if(typeof w=="object"&&w!==null&&w.type===Ta&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case oh:e:{for(var k=w.key,P=y;P!==null;){if(P.key===k){if(k=w.type,k===Ta){if(P.tag===7){n(b,P.sibling),y=o(P,w.props.children),y.return=b,b=y;break e}}else if(P.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===li&&DS(k)===P.type){n(b,P.sibling),y=o(P,w.props),y.ref=Eu(b,P,w),y.return=b,b=y;break e}n(b,P);break}else t(b,P);P=P.sibling}w.type===Ta?(y=Ll(w.props.children,b.mode,S,w.key),y.return=b,b=y):(S=lp(w.type,w.key,w.props,null,b.mode,S),S.ref=Eu(b,y,w),S.return=b,b=S)}return i(b);case _a:e:{for(P=w.key;y!==null;){if(y.key===P)if(y.tag===4&&y.stateNode.containerInfo===w.containerInfo&&y.stateNode.implementation===w.implementation){n(b,y.sibling),y=o(y,w.children||[]),y.return=b,b=y;break e}else{n(b,y);break}else t(b,y);y=y.sibling}y=Zb(w,b.mode,S),y.return=b,b=y}return i(b);case li:return P=w._init,C(b,y,P(w._payload),S)}if(Yu(w))return g(b,y,w,S);if(Su(w))return m(b,y,w,S);gh(b,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,y!==null&&y.tag===6?(n(b,y.sibling),y=o(y,w),y.return=b,b=y):(n(b,y),y=Qb(w,b.mode,S),y.return=b,b=y),i(b)):n(b,y)}return C}var xc=d_(!0),f_=d_(!1),Bp=Ji(null),Vp=null,ja=null,s0=null;function i0(){s0=ja=Vp=null}function l0(e){var t=Bp.current;Ht(Bp),e._currentValue=t}function xy(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Ya(e,t){Vp=e,s0=ja=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(hr=!0),e.firstContext=null)}function ao(e){var t=e._currentValue;if(s0!==e)if(e={context:e,memoizedValue:t,next:null},ja===null){if(Vp===null)throw Error(Ce(308));ja=e,Vp.dependencies={lanes:0,firstContext:e}}else ja=ja.next=e;return t}var vl=null;function a0(e){vl===null?vl=[e]:vl.push(e)}function h_(e,t,n,r){var o=t.interleaved;return o===null?(n.next=n,a0(t)):(n.next=o.next,o.next=n),t.interleaved=n,Ds(e,r)}function Ds(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var ai=!1;function c0(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function p_(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Os(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Di(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,ht&2){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,Ds(e,n)}return o=r.interleaved,o===null?(t.next=t,a0(r)):(t.next=o.next,o.next=t),r.interleaved=t,Ds(e,n)}function tp(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,qx(e,n)}}function AS(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,s=null;if(n=n.firstBaseUpdate,n!==null){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};s===null?o=s=i:s=s.next=i,n=n.next}while(n!==null);s===null?o=s=t:s=s.next=t}else o=s=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:s,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Wp(e,t,n,r){var o=e.updateQueue;ai=!1;var s=o.firstBaseUpdate,i=o.lastBaseUpdate,l=o.shared.pending;if(l!==null){o.shared.pending=null;var a=l,c=a.next;a.next=null,i===null?s=c:i.next=c,i=a;var u=e.alternate;u!==null&&(u=u.updateQueue,l=u.lastBaseUpdate,l!==i&&(l===null?u.firstBaseUpdate=c:l.next=c,u.lastBaseUpdate=a))}if(s!==null){var d=o.baseState;i=0,u=c=a=null,l=s;do{var f=l.lane,h=l.eventTime;if((r&f)===f){u!==null&&(u=u.next={eventTime:h,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var g=e,m=l;switch(f=t,h=n,m.tag){case 1:if(g=m.payload,typeof g=="function"){d=g.call(h,d,f);break e}d=g;break e;case 3:g.flags=g.flags&-65537|128;case 0:if(g=m.payload,f=typeof g=="function"?g.call(h,d,f):g,f==null)break e;d=Yt({},d,f);break e;case 2:ai=!0}}l.callback!==null&&l.lane!==0&&(e.flags|=64,f=o.effects,f===null?o.effects=[l]:f.push(l))}else h={eventTime:h,lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},u===null?(c=u=h,a=d):u=u.next=h,i|=f;if(l=l.next,l===null){if(l=o.shared.pending,l===null)break;f=l,l=f.next,f.next=null,o.lastBaseUpdate=f,o.shared.pending=null}}while(!0);if(u===null&&(a=d),o.baseState=a,o.firstBaseUpdate=c,o.lastBaseUpdate=u,t=o.shared.interleaved,t!==null){o=t;do i|=o.lane,o=o.next;while(o!==t)}else s===null&&(o.shared.lanes=0);Ul|=i,e.lanes=i,e.memoizedState=d}}function jS(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Ub.transition;Ub.transition={};try{e(!1),t()}finally{It=n,Ub.transition=r}}function R_(){return co().memoizedState}function CD(e,t,n){var r=ji(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},O_(e))$_(t,n);else if(n=h_(e,t,n,r),n!==null){var o=er();Oo(n,e,r,o),F_(n,t,r)}}function wD(e,t,n){var r=ji(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(O_(e))$_(t,o);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var i=t.lastRenderedState,l=s(i,n);if(o.hasEagerState=!0,o.eagerState=l,Lo(l,i)){var a=t.interleaved;a===null?(o.next=o,a0(t)):(o.next=a.next,a.next=o),t.interleaved=o;return}}catch{}finally{}n=h_(e,t,o,r),n!==null&&(o=er(),Oo(n,e,r,o),F_(n,t,r))}}function O_(e){var t=e.alternate;return e===Xt||t!==null&&t===Xt}function $_(e,t){md=Up=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function F_(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,qx(e,n)}}var Kp={readContext:ao,useCallback:Bn,useContext:Bn,useEffect:Bn,useImperativeHandle:Bn,useInsertionEffect:Bn,useLayoutEffect:Bn,useMemo:Bn,useReducer:Bn,useRef:Bn,useState:Bn,useDebugValue:Bn,useDeferredValue:Bn,useTransition:Bn,useMutableSource:Bn,useSyncExternalStore:Bn,useId:Bn,unstable_isNewReconciler:!1},SD={readContext:ao,useCallback:function(e,t){return Ko().memoizedState=[e,t===void 0?null:t],e},useContext:ao,useEffect:NS,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,rp(4194308,4,M_.bind(null,t,e),n)},useLayoutEffect:function(e,t){return rp(4194308,4,e,t)},useInsertionEffect:function(e,t){return rp(4,2,e,t)},useMemo:function(e,t){var n=Ko();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ko();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=CD.bind(null,Xt,e),[r.memoizedState,e]},useRef:function(e){var t=Ko();return e={current:e},t.memoizedState=e},useState:zS,useDebugValue:b0,useDeferredValue:function(e){return Ko().memoizedState=e},useTransition:function(){var e=zS(!1),t=e[0];return e=xD.bind(null,e[1]),Ko().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Xt,o=Ko();if(Gt){if(n===void 0)throw Error(Ce(407));n=n()}else{if(n=t(),$n===null)throw Error(Ce(349));Gl&30||v_(r,t,n)}o.memoizedState=n;var s={value:n,getSnapshot:t};return o.queue=s,NS(x_.bind(null,r,s,e),[e]),r.flags|=2048,Ud(9,y_.bind(null,r,s,n,t),void 0,null),n},useId:function(){var e=Ko(),t=$n.identifierPrefix;if(Gt){var n=Ts,r=_s;n=(r&~(1<<32-Ro(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Wd++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=i.createElement(n,{is:r.is}):(e=i.createElement(n),n==="select"&&(i=e,r.multiple?i.multiple=!0:r.size&&(i.size=r.size))):e=i.createElementNS(e,n),e[ts]=t,e[Hd]=r,W_(e,t,!1,!1),t.stateNode=e;e:{switch(i=ny(n,r),n){case"dialog":zt("cancel",e),zt("close",e),o=r;break;case"iframe":case"object":case"embed":zt("load",e),o=r;break;case"video":case"audio":for(o=0;oSc&&(t.flags|=128,r=!0,_u(s,!1),t.lanes=4194304)}else{if(!r)if(e=Gp(i),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),_u(s,!0),s.tail===null&&s.tailMode==="hidden"&&!i.alternate&&!Gt)return Vn(t),null}else 2*an()-s.renderingStartTime>Sc&&n!==1073741824&&(t.flags|=128,r=!0,_u(s,!1),t.lanes=4194304);s.isBackwards?(i.sibling=t.child,t.child=i):(n=s.last,n!==null?n.sibling=i:t.child=i,s.last=i)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=an(),t.sibling=null,n=Kt.current,jt(Kt,r?n&1|2:n&1),t):(Vn(t),null);case 22:case 23:return S0(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Er&1073741824&&(Vn(t),t.subtreeFlags&6&&(t.flags|=8192)):Vn(t),null;case 24:return null;case 25:return null}throw Error(Ce(156,t.tag))}function RD(e,t){switch(r0(t),t.tag){case 1:return vr(t.type)&&jp(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Cc(),Ht(br),Ht(Xn),f0(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return d0(t),null;case 13:if(Ht(Kt),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Ce(340));yc()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ht(Kt),null;case 4:return Cc(),null;case 10:return l0(t.type._context),null;case 22:case 23:return S0(),null;case 24:return null;default:return null}}var bh=!1,Kn=!1,OD=typeof WeakSet=="function"?WeakSet:Set,Le=null;function za(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){rn(e,t,r)}else n.current=null}function _y(e,t,n){try{n()}catch(r){rn(e,t,r)}}var QS=!1;function $D(e,t){if(fy=Fp,e=QE(),t0(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,s=r.focusNode;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var i=0,l=-1,a=-1,c=0,u=0,d=e,f=null;t:for(;;){for(var h;d!==n||o!==0&&d.nodeType!==3||(l=i+o),d!==s||r!==0&&d.nodeType!==3||(a=i+r),d.nodeType===3&&(i+=d.nodeValue.length),(h=d.firstChild)!==null;)f=d,d=h;for(;;){if(d===e)break t;if(f===n&&++c===o&&(l=i),f===s&&++u===r&&(a=i),(h=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=h}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(hy={focusedElem:e,selectionRange:n},Fp=!1,Le=t;Le!==null;)if(t=Le,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Le=e;else for(;Le!==null;){t=Le;try{var g=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var m=g.memoizedProps,C=g.memoizedState,b=t.stateNode,y=b.getSnapshotBeforeUpdate(t.elementType===t.type?m:Co(t.type,m),C);b.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var w=t.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Ce(163))}}catch(S){rn(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,Le=e;break}Le=t.return}return g=QS,QS=!1,g}function bd(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var s=o.destroy;o.destroy=void 0,s!==void 0&&_y(t,n,s)}o=o.next}while(o!==r)}}function nm(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Ty(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function K_(e){var t=e.alternate;t!==null&&(e.alternate=null,K_(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ts],delete t[Hd],delete t[my],delete t[gD],delete t[mD])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function q_(e){return e.tag===5||e.tag===3||e.tag===4}function ZS(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||q_(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ry(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ap));else if(r!==4&&(e=e.child,e!==null))for(Ry(e,t,n),e=e.sibling;e!==null;)Ry(e,t,n),e=e.sibling}function Oy(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Oy(e,t,n),e=e.sibling;e!==null;)Oy(e,t,n),e=e.sibling}var Ln=null,Mo=!1;function Js(e,t,n){for(n=n.child;n!==null;)X_(e,t,n),n=n.sibling}function X_(e,t,n){if(ns&&typeof ns.onCommitFiberUnmount=="function")try{ns.onCommitFiberUnmount(qg,n)}catch{}switch(n.tag){case 5:Kn||za(n,t);case 6:var r=Ln,o=Mo;Ln=null,Js(e,t,n),Ln=r,Mo=o,Ln!==null&&(Mo?(e=Ln,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Ln.removeChild(n.stateNode));break;case 18:Ln!==null&&(Mo?(e=Ln,n=n.stateNode,e.nodeType===8?Vb(e.parentNode,n):e.nodeType===1&&Vb(e,n),Dd(e)):Vb(Ln,n.stateNode));break;case 4:r=Ln,o=Mo,Ln=n.stateNode.containerInfo,Mo=!0,Js(e,t,n),Ln=r,Mo=o;break;case 0:case 11:case 14:case 15:if(!Kn&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var s=o,i=s.destroy;s=s.tag,i!==void 0&&(s&2||s&4)&&_y(n,t,i),o=o.next}while(o!==r)}Js(e,t,n);break;case 1:if(!Kn&&(za(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){rn(n,t,l)}Js(e,t,n);break;case 21:Js(e,t,n);break;case 22:n.mode&1?(Kn=(r=Kn)||n.memoizedState!==null,Js(e,t,n),Kn=r):Js(e,t,n);break;default:Js(e,t,n)}}function JS(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new OD),t.forEach(function(r){var o=BD.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function xo(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=i),r&=~s}if(r=o,r=an()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*LD(r/1960))-r,10e?16:e,ki===null)var r=!1;else{if(e=ki,ki=null,Yp=0,ht&6)throw Error(Ce(331));var o=ht;for(ht|=4,Le=e.current;Le!==null;){var s=Le,i=s.child;if(Le.flags&16){var l=s.deletions;if(l!==null){for(var a=0;aan()-C0?Fl(e,0):x0|=n),yr(e,t)}function rT(e,t){t===0&&(e.mode&1?(t=ah,ah<<=1,!(ah&130023424)&&(ah=4194304)):t=1);var n=er();e=Ds(e,t),e!==null&&(Tf(e,t,n),yr(e,n))}function HD(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),rT(e,n)}function BD(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(Ce(314))}r!==null&&r.delete(t),rT(e,n)}var oT;oT=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||br.current)hr=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return hr=!1,_D(e,t,n);hr=!!(e.flags&131072)}else hr=!1,Gt&&t.flags&1048576&&a_(t,Hp,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;op(e,t),e=t.pendingProps;var o=vc(t,Xn.current);Ya(t,n),o=p0(null,t,r,e,o,n);var s=g0();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,vr(r)?(s=!0,zp(t)):s=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,c0(t),o.updater=tm,t.stateNode=o,o._reactInternals=t,wy(t,r,e,n),t=Py(null,t,r,!0,s,n)):(t.tag=0,Gt&&s&&n0(t),Zn(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(op(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=WD(r),e=Co(r,e),o){case 0:t=ky(null,t,r,e,n);break e;case 1:t=qS(null,t,r,e,n);break e;case 11:t=US(null,t,r,e,n);break e;case 14:t=KS(null,t,r,Co(r.type,e),n);break e}throw Error(Ce(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Co(r,o),ky(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Co(r,o),qS(e,t,r,o,n);case 3:e:{if(H_(t),e===null)throw Error(Ce(387));r=t.pendingProps,s=t.memoizedState,o=s.element,p_(e,t),Wp(t,r,null,n);var i=t.memoizedState;if(r=i.element,s.isDehydrated)if(s={element:r,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){o=wc(Error(Ce(423)),t),t=XS(e,t,r,n,o);break e}else if(r!==o){o=wc(Error(Ce(424)),t),t=XS(e,t,r,n,o);break e}else for($r=Li(t.stateNode.containerInfo.firstChild),Fr=t,Gt=!0,Eo=null,n=f_(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(yc(),r===o){t=As(e,t,n);break e}Zn(e,t,r,n)}t=t.child}return t;case 5:return g_(t),e===null&&yy(t),r=t.type,o=t.pendingProps,s=e!==null?e.memoizedProps:null,i=o.children,py(r,o)?i=null:s!==null&&py(r,s)&&(t.flags|=32),N_(e,t),Zn(e,t,i,n),t.child;case 6:return e===null&&yy(t),null;case 13:return B_(e,t,n);case 4:return u0(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=xc(t,null,r,n):Zn(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Co(r,o),US(e,t,r,o,n);case 7:return Zn(e,t,t.pendingProps,n),t.child;case 8:return Zn(e,t,t.pendingProps.children,n),t.child;case 12:return Zn(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,s=t.memoizedProps,i=o.value,jt(Bp,r._currentValue),r._currentValue=i,s!==null)if(Lo(s.value,i)){if(s.children===o.children&&!br.current){t=As(e,t,n);break e}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){i=s.child;for(var a=l.firstContext;a!==null;){if(a.context===r){if(s.tag===1){a=Os(-1,n&-n),a.tag=2;var c=s.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?a.next=a:(a.next=u.next,u.next=a),c.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),xy(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)i=s.type===t.type?null:s.child;else if(s.tag===18){if(i=s.return,i===null)throw Error(Ce(341));i.lanes|=n,l=i.alternate,l!==null&&(l.lanes|=n),xy(i,n,t),i=s.sibling}else i=s.child;if(i!==null)i.return=s;else for(i=s;i!==null;){if(i===t){i=null;break}if(s=i.sibling,s!==null){s.return=i.return,i=s;break}i=i.return}s=i}Zn(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Ya(t,n),o=ao(o),r=r(o),t.flags|=1,Zn(e,t,r,n),t.child;case 14:return r=t.type,o=Co(r,t.pendingProps),o=Co(r.type,o),KS(e,t,r,o,n);case 15:return j_(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Co(r,o),op(e,t),t.tag=1,vr(r)?(e=!0,zp(t)):e=!1,Ya(t,n),L_(t,r,o),wy(t,r,o,n),Py(null,t,r,!0,e,n);case 19:return V_(e,t,n);case 22:return z_(e,t,n)}throw Error(Ce(156,t.tag))};function sT(e,t){return OE(e,t)}function VD(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function eo(e,t,n,r){return new VD(e,t,n,r)}function P0(e){return e=e.prototype,!(!e||!e.isReactComponent)}function WD(e){if(typeof e=="function")return P0(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Wx)return 11;if(e===Gx)return 14}return 2}function zi(e,t){var n=e.alternate;return n===null?(n=eo(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function lp(e,t,n,r,o,s){var i=2;if(r=e,typeof e=="function")P0(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case Ta:return Ll(n.children,o,s,t);case Vx:i=8,o|=8;break;case Uv:return e=eo(12,n,t,o|2),e.elementType=Uv,e.lanes=s,e;case Kv:return e=eo(13,n,t,o),e.elementType=Kv,e.lanes=s,e;case qv:return e=eo(19,n,t,o),e.elementType=qv,e.lanes=s,e;case gE:return om(n,o,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case hE:i=10;break e;case pE:i=9;break e;case Wx:i=11;break e;case Gx:i=14;break e;case li:i=16,r=null;break e}throw Error(Ce(130,e==null?e:typeof e,""))}return t=eo(i,n,t,o),t.elementType=e,t.type=r,t.lanes=s,t}function Ll(e,t,n,r){return e=eo(7,e,r,t),e.lanes=n,e}function om(e,t,n,r){return e=eo(22,e,r,t),e.elementType=gE,e.lanes=n,e.stateNode={isHidden:!1},e}function Qb(e,t,n){return e=eo(6,e,null,t),e.lanes=n,e}function Zb(e,t,n){return t=eo(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function GD(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ob(0),this.expirationTimes=Ob(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ob(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function M0(e,t,n,r,o,s,i,l,a){return e=new GD(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=eo(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},c0(s),e}function UD(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(cT)}catch(e){console.error(e)}}cT(),cE.exports=Nr;var cm=cE.exports;const xh=Ug(cm);var uT,l1=cm;uT=l1.createRoot,l1.hydrateRoot;var Ff=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},QD={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},gi,Lx,BI,ZD=(BI=class{constructor(){Ue(this,gi,QD);Ue(this,Lx,!1)}setTimeoutProvider(e){$e(this,gi,e)}setTimeout(e,t){return W(this,gi).setTimeout(e,t)}clearTimeout(e){W(this,gi).clearTimeout(e)}setInterval(e,t){return W(this,gi).setInterval(e,t)}clearInterval(e){W(this,gi).clearInterval(e)}},gi=new WeakMap,Lx=new WeakMap,BI),xl=new ZD;function JD(e){setTimeout(e,0)}var ql=typeof window>"u"||"Deno"in globalThis;function ar(){}function eA(e,t){return typeof e=="function"?e(t):e}function Ay(e){return typeof e=="number"&&e>=0&&e!==1/0}function dT(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Ni(e,t){return typeof e=="function"?e(t):e}function Kr(e,t){return typeof e=="function"?e(t):e}function a1(e,t){const{type:n="all",exact:r,fetchStatus:o,predicate:s,queryKey:i,stale:l}=e;if(i){if(r){if(t.queryHash!==T0(i,t.options))return!1}else if(!Xd(t.queryKey,i))return!1}if(n!=="all"){const a=t.isActive();if(n==="active"&&!a||n==="inactive"&&a)return!1}return!(typeof l=="boolean"&&t.isStale()!==l||o&&o!==t.state.fetchStatus||s&&!s(t))}function c1(e,t){const{exact:n,status:r,predicate:o,mutationKey:s}=e;if(s){if(!t.options.mutationKey)return!1;if(n){if(qd(t.options.mutationKey)!==qd(s))return!1}else if(!Xd(t.options.mutationKey,s))return!1}return!(r&&t.state.status!==r||o&&!o(t))}function T0(e,t){return((t==null?void 0:t.queryKeyHashFn)||qd)(e)}function qd(e){return JSON.stringify(e,(t,n)=>zy(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function Xd(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(n=>Xd(e[n],t[n])):!1}var tA=Object.prototype.hasOwnProperty;function fT(e,t,n=0){if(e===t)return e;if(n>500)return t;const r=u1(e)&&u1(t);if(!r&&!(zy(e)&&zy(t)))return t;const s=(r?e:Object.keys(e)).length,i=r?t:Object.keys(t),l=i.length,a=r?new Array(l):{};let c=0;for(let u=0;u{xl.setTimeout(t,e)})}function Ny(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?fT(e,t):t}function rA(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function oA(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var R0=Symbol();function hT(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===R0?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function pT(e,t){return typeof e=="function"?e(...t):!!e}function sA(e,t,n){let r=!1,o;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(o??(o=t()),r||(r=!0,o.aborted?n():o.addEventListener("abort",n,{once:!0})),o)}),e}var Pl,mi,sc,VI,iA=(VI=class extends Ff{constructor(){super();Ue(this,Pl);Ue(this,mi);Ue(this,sc);$e(this,sc,t=>{if(!ql&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){W(this,mi)||this.setEventListener(W(this,sc))}onUnsubscribe(){var t;this.hasListeners()||((t=W(this,mi))==null||t.call(this),$e(this,mi,void 0))}setEventListener(t){var n;$e(this,sc,t),(n=W(this,mi))==null||n.call(this),$e(this,mi,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){W(this,Pl)!==t&&($e(this,Pl,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){var t;return typeof W(this,Pl)=="boolean"?W(this,Pl):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Pl=new WeakMap,mi=new WeakMap,sc=new WeakMap,VI),O0=new iA;function Hy(){let e,t;const n=new Promise((o,s)=>{e=o,t=s});n.status="pending",n.catch(()=>{});function r(o){Object.assign(n,o),delete n.resolve,delete n.reject}return n.resolve=o=>{r({status:"fulfilled",value:o}),e(o)},n.reject=o=>{r({status:"rejected",reason:o}),t(o)},n}var lA=JD;function aA(){let e=[],t=0,n=l=>{l()},r=l=>{l()},o=lA;const s=l=>{t?e.push(l):o(()=>{n(l)})},i=()=>{const l=e;e=[],l.length&&o(()=>{r(()=>{l.forEach(a=>{n(a)})})})};return{batch:l=>{let a;t++;try{a=l()}finally{t--,t||i()}return a},batchCalls:l=>(...a)=>{s(()=>{l(...a)})},schedule:s,setNotifyFunction:l=>{n=l},setBatchNotifyFunction:l=>{r=l},setScheduler:l=>{o=l}}}var An=aA(),ic,bi,lc,WI,cA=(WI=class extends Ff{constructor(){super();Ue(this,ic,!0);Ue(this,bi);Ue(this,lc);$e(this,lc,t=>{if(!ql&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){W(this,bi)||this.setEventListener(W(this,lc))}onUnsubscribe(){var t;this.hasListeners()||((t=W(this,bi))==null||t.call(this),$e(this,bi,void 0))}setEventListener(t){var n;$e(this,lc,t),(n=W(this,bi))==null||n.call(this),$e(this,bi,t(this.setOnline.bind(this)))}setOnline(t){W(this,ic)!==t&&($e(this,ic,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return W(this,ic)}},ic=new WeakMap,bi=new WeakMap,lc=new WeakMap,WI),Jp=new cA;function uA(e){return Math.min(1e3*2**e,3e4)}function gT(e){return(e??"online")==="online"?Jp.isOnline():!0}var By=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function mT(e){let t=!1,n=0,r;const o=Hy(),s=()=>o.status!=="pending",i=m=>{var C;if(!s()){const b=new By(m);f(b),(C=e.onCancel)==null||C.call(e,b)}},l=()=>{t=!0},a=()=>{t=!1},c=()=>O0.isFocused()&&(e.networkMode==="always"||Jp.isOnline())&&e.canRun(),u=()=>gT(e.networkMode)&&e.canRun(),d=m=>{s()||(r==null||r(),o.resolve(m))},f=m=>{s()||(r==null||r(),o.reject(m))},h=()=>new Promise(m=>{var C;r=b=>{(s()||c())&&m(b)},(C=e.onPause)==null||C.call(e)}).then(()=>{var m;r=void 0,s()||(m=e.onContinue)==null||m.call(e)}),g=()=>{if(s())return;let m;const C=n===0?e.initialPromise:void 0;try{m=C??e.fn()}catch(b){m=Promise.reject(b)}Promise.resolve(m).then(d).catch(b=>{var P;if(s())return;const y=e.retry??(ql?0:3),w=e.retryDelay??uA,S=typeof w=="function"?w(n,b):w,k=y===!0||typeof y=="number"&&nc()?void 0:h()).then(()=>{t?f(b):g()})})};return{promise:o,status:()=>o.status,cancel:i,continue:()=>(r==null||r(),o),cancelRetry:l,continueRetry:a,canStart:u,start:()=>(u()?g():h().then(g),o)}}var Ml,GI,bT=(GI=class{constructor(){Ue(this,Ml)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Ay(this.gcTime)&&$e(this,Ml,xl.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(ql?1/0:5*60*1e3))}clearGcTimeout(){W(this,Ml)&&(xl.clearTimeout(W(this,Ml)),$e(this,Ml,void 0))}},Ml=new WeakMap,GI),Il,ac,Gr,El,En,kf,_l,ko,ys,UI,dA=(UI=class extends bT{constructor(t){super();Ue(this,ko);Ue(this,Il);Ue(this,ac);Ue(this,Gr);Ue(this,El);Ue(this,En);Ue(this,kf);Ue(this,_l);$e(this,_l,!1),$e(this,kf,t.defaultOptions),this.setOptions(t.options),this.observers=[],$e(this,El,t.client),$e(this,Gr,W(this,El).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,$e(this,Il,h1(this.options)),this.state=t.state??W(this,Il),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=W(this,En))==null?void 0:t.promise}setOptions(t){if(this.options={...W(this,kf),...t},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const n=h1(this.options);n.data!==void 0&&(this.setState(f1(n.data,n.dataUpdatedAt)),$e(this,Il,n))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&W(this,Gr).remove(this)}setData(t,n){const r=Ny(this.state.data,t,this.options);return ut(this,ko,ys).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){ut(this,ko,ys).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var r,o;const n=(r=W(this,En))==null?void 0:r.promise;return(o=W(this,En))==null||o.cancel(t),n?n.then(ar).catch(ar):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(W(this,Il))}isActive(){return this.observers.some(t=>Kr(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===R0||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>Ni(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!dT(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=this.observers.find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=W(this,En))==null||n.continue()}onOnline(){var n;const t=this.observers.find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=W(this,En))==null||n.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),W(this,Gr).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(W(this,En)&&(W(this,_l)?W(this,En).cancel({revert:!0}):W(this,En).cancelRetry()),this.scheduleGc()),W(this,Gr).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||ut(this,ko,ys).call(this,{type:"invalidate"})}async fetch(t,n){var a,c,u,d,f,h,g,m,C,b,y,w;if(this.state.fetchStatus!=="idle"&&((a=W(this,En))==null?void 0:a.status())!=="rejected"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(W(this,En))return W(this,En).continueRetry(),W(this,En).promise}if(t&&this.setOptions(t),!this.options.queryFn){const S=this.observers.find(k=>k.options.queryFn);S&&this.setOptions(S.options)}const r=new AbortController,o=S=>{Object.defineProperty(S,"signal",{enumerable:!0,get:()=>($e(this,_l,!0),r.signal)})},s=()=>{const S=hT(this.options,n),P=(()=>{const M={client:W(this,El),queryKey:this.queryKey,meta:this.meta};return o(M),M})();return $e(this,_l,!1),this.options.persister?this.options.persister(S,P,this):S(P)},l=(()=>{const S={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:W(this,El),state:this.state,fetchFn:s};return o(S),S})();(c=this.options.behavior)==null||c.onFetch(l,this),$e(this,ac,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((u=l.fetchOptions)==null?void 0:u.meta))&&ut(this,ko,ys).call(this,{type:"fetch",meta:(d=l.fetchOptions)==null?void 0:d.meta}),$e(this,En,mT({initialPromise:n==null?void 0:n.initialPromise,fn:l.fetchFn,onCancel:S=>{S instanceof By&&S.revert&&this.setState({...W(this,ac),fetchStatus:"idle"}),r.abort()},onFail:(S,k)=>{ut(this,ko,ys).call(this,{type:"failed",failureCount:S,error:k})},onPause:()=>{ut(this,ko,ys).call(this,{type:"pause"})},onContinue:()=>{ut(this,ko,ys).call(this,{type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode,canRun:()=>!0}));try{const S=await W(this,En).start();if(S===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(S),(h=(f=W(this,Gr).config).onSuccess)==null||h.call(f,S,this),(m=(g=W(this,Gr).config).onSettled)==null||m.call(g,S,this.state.error,this),S}catch(S){if(S instanceof By){if(S.silent)return W(this,En).promise;if(S.revert){if(this.state.data===void 0)throw S;return this.state.data}}throw ut(this,ko,ys).call(this,{type:"error",error:S}),(b=(C=W(this,Gr).config).onError)==null||b.call(C,S,this),(w=(y=W(this,Gr).config).onSettled)==null||w.call(y,this.state.data,S,this),S}finally{this.scheduleGc()}}},Il=new WeakMap,ac=new WeakMap,Gr=new WeakMap,El=new WeakMap,En=new WeakMap,kf=new WeakMap,_l=new WeakMap,ko=new WeakSet,ys=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...vT(r.data,this.options),fetchMeta:t.meta??null};case"success":const o={...r,...f1(t.data,t.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return $e(this,ac,t.manual?o:void 0),o;case"error":const s=t.error;return{...r,error:s,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),An.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),W(this,Gr).notify({query:this,type:"updated",action:t})})},UI);function vT(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:gT(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function f1(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function h1(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var lr,dt,Pf,Qn,Tl,cc,Ms,vi,Mf,uc,dc,Rl,Ol,yi,fc,Pt,Ju,Vy,Wy,Gy,Uy,Ky,qy,Xy,yT,KI,fA=(KI=class extends Ff{constructor(t,n){super();Ue(this,Pt);Ue(this,lr);Ue(this,dt);Ue(this,Pf);Ue(this,Qn);Ue(this,Tl);Ue(this,cc);Ue(this,Ms);Ue(this,vi);Ue(this,Mf);Ue(this,uc);Ue(this,dc);Ue(this,Rl);Ue(this,Ol);Ue(this,yi);Ue(this,fc,new Set);this.options=n,$e(this,lr,t),$e(this,vi,null),$e(this,Ms,Hy()),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(W(this,dt).addObserver(this),p1(W(this,dt),this.options)?ut(this,Pt,Ju).call(this):this.updateResult(),ut(this,Pt,Uy).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Yy(W(this,dt),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Yy(W(this,dt),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,ut(this,Pt,Ky).call(this),ut(this,Pt,qy).call(this),W(this,dt).removeObserver(this)}setOptions(t){const n=this.options,r=W(this,dt);if(this.options=W(this,lr).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Kr(this.options.enabled,W(this,dt))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");ut(this,Pt,Xy).call(this),W(this,dt).setOptions(this.options),n._defaulted&&!jy(this.options,n)&&W(this,lr).getQueryCache().notify({type:"observerOptionsUpdated",query:W(this,dt),observer:this});const o=this.hasListeners();o&&g1(W(this,dt),r,this.options,n)&&ut(this,Pt,Ju).call(this),this.updateResult(),o&&(W(this,dt)!==r||Kr(this.options.enabled,W(this,dt))!==Kr(n.enabled,W(this,dt))||Ni(this.options.staleTime,W(this,dt))!==Ni(n.staleTime,W(this,dt)))&&ut(this,Pt,Vy).call(this);const s=ut(this,Pt,Wy).call(this);o&&(W(this,dt)!==r||Kr(this.options.enabled,W(this,dt))!==Kr(n.enabled,W(this,dt))||s!==W(this,yi))&&ut(this,Pt,Gy).call(this,s)}getOptimisticResult(t){const n=W(this,lr).getQueryCache().build(W(this,lr),t),r=this.createResult(n,t);return pA(this,r)&&($e(this,Qn,r),$e(this,cc,this.options),$e(this,Tl,W(this,dt).state)),r}getCurrentResult(){return W(this,Qn)}trackResult(t,n){return new Proxy(t,{get:(r,o)=>(this.trackProp(o),n==null||n(o),o==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&W(this,Ms).status==="pending"&&W(this,Ms).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,o))})}trackProp(t){W(this,fc).add(t)}getCurrentQuery(){return W(this,dt)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=W(this,lr).defaultQueryOptions(t),r=W(this,lr).getQueryCache().build(W(this,lr),n);return r.fetch().then(()=>this.createResult(r,n))}fetch(t){return ut(this,Pt,Ju).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),W(this,Qn)))}createResult(t,n){var E;const r=W(this,dt),o=this.options,s=W(this,Qn),i=W(this,Tl),l=W(this,cc),c=t!==r?t.state:W(this,Pf),{state:u}=t;let d={...u},f=!1,h;if(n._optimisticResults){const T=this.hasListeners(),D=!T&&p1(t,n),$=T&&g1(t,r,n,o);(D||$)&&(d={...d,...vT(u.data,t.options)}),n._optimisticResults==="isRestoring"&&(d.fetchStatus="idle")}let{error:g,errorUpdatedAt:m,status:C}=d;h=d.data;let b=!1;if(n.placeholderData!==void 0&&h===void 0&&C==="pending"){let T;s!=null&&s.isPlaceholderData&&n.placeholderData===(l==null?void 0:l.placeholderData)?(T=s.data,b=!0):T=typeof n.placeholderData=="function"?n.placeholderData((E=W(this,dc))==null?void 0:E.state.data,W(this,dc)):n.placeholderData,T!==void 0&&(C="success",h=Ny(s==null?void 0:s.data,T,n),f=!0)}if(n.select&&h!==void 0&&!b)if(s&&h===(i==null?void 0:i.data)&&n.select===W(this,Mf))h=W(this,uc);else try{$e(this,Mf,n.select),h=n.select(h),h=Ny(s==null?void 0:s.data,h,n),$e(this,uc,h),$e(this,vi,null)}catch(T){$e(this,vi,T)}W(this,vi)&&(g=W(this,vi),h=W(this,uc),m=Date.now(),C="error");const y=d.fetchStatus==="fetching",w=C==="pending",S=C==="error",k=w&&y,P=h!==void 0,I={status:C,fetchStatus:d.fetchStatus,isPending:w,isSuccess:C==="success",isError:S,isInitialLoading:k,isLoading:k,data:h,dataUpdatedAt:d.dataUpdatedAt,error:g,errorUpdatedAt:m,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:d.dataUpdateCount>0||d.errorUpdateCount>0,isFetchedAfterMount:d.dataUpdateCount>c.dataUpdateCount||d.errorUpdateCount>c.errorUpdateCount,isFetching:y,isRefetching:y&&!w,isLoadingError:S&&!P,isPaused:d.fetchStatus==="paused",isPlaceholderData:f,isRefetchError:S&&P,isStale:$0(t,n),refetch:this.refetch,promise:W(this,Ms),isEnabled:Kr(n.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const T=I.data!==void 0,D=I.status==="error"&&!T,$=R=>{D?R.reject(I.error):T&&R.resolve(I.data)},L=()=>{const R=$e(this,Ms,I.promise=Hy());$(R)},A=W(this,Ms);switch(A.status){case"pending":t.queryHash===r.queryHash&&$(A);break;case"fulfilled":(D||I.data!==A.value)&&L();break;case"rejected":(!D||I.error!==A.reason)&&L();break}}return I}updateResult(){const t=W(this,Qn),n=this.createResult(W(this,dt),this.options);if($e(this,Tl,W(this,dt).state),$e(this,cc,this.options),W(this,Tl).data!==void 0&&$e(this,dc,W(this,dt)),jy(n,t))return;$e(this,Qn,n);const r=()=>{if(!t)return!0;const{notifyOnChangeProps:o}=this.options,s=typeof o=="function"?o():o;if(s==="all"||!s&&!W(this,fc).size)return!0;const i=new Set(s??W(this,fc));return this.options.throwOnError&&i.add("error"),Object.keys(W(this,Qn)).some(l=>{const a=l;return W(this,Qn)[a]!==t[a]&&i.has(a)})};ut(this,Pt,yT).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&ut(this,Pt,Uy).call(this)}},lr=new WeakMap,dt=new WeakMap,Pf=new WeakMap,Qn=new WeakMap,Tl=new WeakMap,cc=new WeakMap,Ms=new WeakMap,vi=new WeakMap,Mf=new WeakMap,uc=new WeakMap,dc=new WeakMap,Rl=new WeakMap,Ol=new WeakMap,yi=new WeakMap,fc=new WeakMap,Pt=new WeakSet,Ju=function(t){ut(this,Pt,Xy).call(this);let n=W(this,dt).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(ar)),n},Vy=function(){ut(this,Pt,Ky).call(this);const t=Ni(this.options.staleTime,W(this,dt));if(ql||W(this,Qn).isStale||!Ay(t))return;const r=dT(W(this,Qn).dataUpdatedAt,t)+1;$e(this,Rl,xl.setTimeout(()=>{W(this,Qn).isStale||this.updateResult()},r))},Wy=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(W(this,dt)):this.options.refetchInterval)??!1},Gy=function(t){ut(this,Pt,qy).call(this),$e(this,yi,t),!(ql||Kr(this.options.enabled,W(this,dt))===!1||!Ay(W(this,yi))||W(this,yi)===0)&&$e(this,Ol,xl.setInterval(()=>{(this.options.refetchIntervalInBackground||O0.isFocused())&&ut(this,Pt,Ju).call(this)},W(this,yi)))},Uy=function(){ut(this,Pt,Vy).call(this),ut(this,Pt,Gy).call(this,ut(this,Pt,Wy).call(this))},Ky=function(){W(this,Rl)&&(xl.clearTimeout(W(this,Rl)),$e(this,Rl,void 0))},qy=function(){W(this,Ol)&&(xl.clearInterval(W(this,Ol)),$e(this,Ol,void 0))},Xy=function(){const t=W(this,lr).getQueryCache().build(W(this,lr),this.options);if(t===W(this,dt))return;const n=W(this,dt);$e(this,dt,t),$e(this,Pf,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},yT=function(t){An.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(W(this,Qn))}),W(this,lr).getQueryCache().notify({query:W(this,dt),type:"observerResultsUpdated"})})},KI);function hA(e,t){return Kr(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function p1(e,t){return hA(e,t)||e.state.data!==void 0&&Yy(e,t,t.refetchOnMount)}function Yy(e,t,n){if(Kr(t.enabled,e)!==!1&&Ni(t.staleTime,e)!=="static"){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&$0(e,t)}return!1}function g1(e,t,n,r){return(e!==t||Kr(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&$0(e,n)}function $0(e,t){return Kr(t.enabled,e)!==!1&&e.isStaleByTime(Ni(t.staleTime,e))}function pA(e,t){return!jy(e.getCurrentResult(),t)}function m1(e){return{onFetch:(t,n)=>{var u,d,f,h,g;const r=t.options,o=(f=(d=(u=t.fetchOptions)==null?void 0:u.meta)==null?void 0:d.fetchMore)==null?void 0:f.direction,s=((h=t.state.data)==null?void 0:h.pages)||[],i=((g=t.state.data)==null?void 0:g.pageParams)||[];let l={pages:[],pageParams:[]},a=0;const c=async()=>{let m=!1;const C=w=>{sA(w,()=>t.signal,()=>m=!0)},b=hT(t.options,t.fetchOptions),y=async(w,S,k)=>{if(m)return Promise.reject();if(S==null&&w.pages.length)return Promise.resolve(w);const M=(()=>{const D={client:t.client,queryKey:t.queryKey,pageParam:S,direction:k?"backward":"forward",meta:t.options.meta};return C(D),D})(),I=await b(M),{maxPages:E}=t.options,T=k?oA:rA;return{pages:T(w.pages,I,E),pageParams:T(w.pageParams,S,E)}};if(o&&s.length){const w=o==="backward",S=w?gA:b1,k={pages:s,pageParams:i},P=S(r,k);l=await y(k,P,w)}else{const w=e??s.length;do{const S=a===0?i[0]??r.initialPageParam:b1(r,l);if(a>0&&S==null)break;l=await y(l,S),a++}while(a{var m,C;return(C=(m=t.options).persister)==null?void 0:C.call(m,c,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=c}}}function b1(e,{pages:t,pageParams:n}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function gA(e,{pages:t,pageParams:n}){var r;return t.length>0?(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n):void 0}var If,Yo,Gn,$l,Qo,si,qI,mA=(qI=class extends bT{constructor(t){super();Ue(this,Qo);Ue(this,If);Ue(this,Yo);Ue(this,Gn);Ue(this,$l);$e(this,If,t.client),this.mutationId=t.mutationId,$e(this,Gn,t.mutationCache),$e(this,Yo,[]),this.state=t.state||bA(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){W(this,Yo).includes(t)||(W(this,Yo).push(t),this.clearGcTimeout(),W(this,Gn).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){$e(this,Yo,W(this,Yo).filter(n=>n!==t)),this.scheduleGc(),W(this,Gn).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){W(this,Yo).length||(this.state.status==="pending"?this.scheduleGc():W(this,Gn).remove(this))}continue(){var t;return((t=W(this,$l))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var i,l,a,c,u,d,f,h,g,m,C,b,y,w,S,k,P,M;const n=()=>{ut(this,Qo,si).call(this,{type:"continue"})},r={client:W(this,If),meta:this.options.meta,mutationKey:this.options.mutationKey};$e(this,$l,mT({fn:()=>this.options.mutationFn?this.options.mutationFn(t,r):Promise.reject(new Error("No mutationFn found")),onFail:(I,E)=>{ut(this,Qo,si).call(this,{type:"failed",failureCount:I,error:E})},onPause:()=>{ut(this,Qo,si).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>W(this,Gn).canRun(this)}));const o=this.state.status==="pending",s=!W(this,$l).canStart();try{if(o)n();else{ut(this,Qo,si).call(this,{type:"pending",variables:t,isPaused:s}),W(this,Gn).config.onMutate&&await W(this,Gn).config.onMutate(t,this,r);const E=await((l=(i=this.options).onMutate)==null?void 0:l.call(i,t,r));E!==this.state.context&&ut(this,Qo,si).call(this,{type:"pending",context:E,variables:t,isPaused:s})}const I=await W(this,$l).start();return await((c=(a=W(this,Gn).config).onSuccess)==null?void 0:c.call(a,I,t,this.state.context,this,r)),await((d=(u=this.options).onSuccess)==null?void 0:d.call(u,I,t,this.state.context,r)),await((h=(f=W(this,Gn).config).onSettled)==null?void 0:h.call(f,I,null,this.state.variables,this.state.context,this,r)),await((m=(g=this.options).onSettled)==null?void 0:m.call(g,I,null,t,this.state.context,r)),ut(this,Qo,si).call(this,{type:"success",data:I}),I}catch(I){try{await((b=(C=W(this,Gn).config).onError)==null?void 0:b.call(C,I,t,this.state.context,this,r))}catch(E){Promise.reject(E)}try{await((w=(y=this.options).onError)==null?void 0:w.call(y,I,t,this.state.context,r))}catch(E){Promise.reject(E)}try{await((k=(S=W(this,Gn).config).onSettled)==null?void 0:k.call(S,void 0,I,this.state.variables,this.state.context,this,r))}catch(E){Promise.reject(E)}try{await((M=(P=this.options).onSettled)==null?void 0:M.call(P,void 0,I,t,this.state.context,r))}catch(E){Promise.reject(E)}throw ut(this,Qo,si).call(this,{type:"error",error:I}),I}finally{W(this,Gn).runNext(this)}}},If=new WeakMap,Yo=new WeakMap,Gn=new WeakMap,$l=new WeakMap,Qo=new WeakSet,si=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),An.batch(()=>{W(this,Yo).forEach(r=>{r.onMutationUpdate(t)}),W(this,Gn).notify({mutation:this,type:"updated",action:t})})},qI);function bA(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Is,Po,Ef,XI,vA=(XI=class extends Ff{constructor(t={}){super();Ue(this,Is);Ue(this,Po);Ue(this,Ef);this.config=t,$e(this,Is,new Set),$e(this,Po,new Map),$e(this,Ef,0)}build(t,n,r){const o=new mA({client:t,mutationCache:this,mutationId:++nh(this,Ef)._,options:t.defaultMutationOptions(n),state:r});return this.add(o),o}add(t){W(this,Is).add(t);const n=Ch(t);if(typeof n=="string"){const r=W(this,Po).get(n);r?r.push(t):W(this,Po).set(n,[t])}this.notify({type:"added",mutation:t})}remove(t){if(W(this,Is).delete(t)){const n=Ch(t);if(typeof n=="string"){const r=W(this,Po).get(n);if(r)if(r.length>1){const o=r.indexOf(t);o!==-1&&r.splice(o,1)}else r[0]===t&&W(this,Po).delete(n)}}this.notify({type:"removed",mutation:t})}canRun(t){const n=Ch(t);if(typeof n=="string"){const r=W(this,Po).get(n),o=r==null?void 0:r.find(s=>s.state.status==="pending");return!o||o===t}else return!0}runNext(t){var r;const n=Ch(t);if(typeof n=="string"){const o=(r=W(this,Po).get(n))==null?void 0:r.find(s=>s!==t&&s.state.isPaused);return(o==null?void 0:o.continue())??Promise.resolve()}else return Promise.resolve()}clear(){An.batch(()=>{W(this,Is).forEach(t=>{this.notify({type:"removed",mutation:t})}),W(this,Is).clear(),W(this,Po).clear()})}getAll(){return Array.from(W(this,Is))}find(t){const n={exact:!0,...t};return this.getAll().find(r=>c1(n,r))}findAll(t={}){return this.getAll().filter(n=>c1(t,n))}notify(t){An.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.getAll().filter(n=>n.state.isPaused);return An.batch(()=>Promise.all(t.map(n=>n.continue().catch(ar))))}},Is=new WeakMap,Po=new WeakMap,Ef=new WeakMap,XI);function Ch(e){var t;return(t=e.options.scope)==null?void 0:t.id}var Zo,YI,yA=(YI=class extends Ff{constructor(t={}){super();Ue(this,Zo);this.config=t,$e(this,Zo,new Map)}build(t,n,r){const o=n.queryKey,s=n.queryHash??T0(o,n);let i=this.get(s);return i||(i=new dA({client:t,queryKey:o,queryHash:s,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(o)}),this.add(i)),i}add(t){W(this,Zo).has(t.queryHash)||(W(this,Zo).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=W(this,Zo).get(t.queryHash);n&&(t.destroy(),n===t&&W(this,Zo).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){An.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return W(this,Zo).get(t)}getAll(){return[...W(this,Zo).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>a1(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>a1(t,r)):n}notify(t){An.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){An.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){An.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Zo=new WeakMap,YI),nn,xi,Ci,hc,pc,wi,gc,mc,QI,xA=(QI=class{constructor(e={}){Ue(this,nn);Ue(this,xi);Ue(this,Ci);Ue(this,hc);Ue(this,pc);Ue(this,wi);Ue(this,gc);Ue(this,mc);$e(this,nn,e.queryCache||new yA),$e(this,xi,e.mutationCache||new vA),$e(this,Ci,e.defaultOptions||{}),$e(this,hc,new Map),$e(this,pc,new Map),$e(this,wi,0)}mount(){nh(this,wi)._++,W(this,wi)===1&&($e(this,gc,O0.subscribe(async e=>{e&&(await this.resumePausedMutations(),W(this,nn).onFocus())})),$e(this,mc,Jp.subscribe(async e=>{e&&(await this.resumePausedMutations(),W(this,nn).onOnline())})))}unmount(){var e,t;nh(this,wi)._--,W(this,wi)===0&&((e=W(this,gc))==null||e.call(this),$e(this,gc,void 0),(t=W(this,mc))==null||t.call(this),$e(this,mc,void 0))}isFetching(e){return W(this,nn).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return W(this,xi).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=W(this,nn).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=W(this,nn).build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Ni(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return W(this,nn).findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),o=W(this,nn).get(r.queryHash),s=o==null?void 0:o.state.data,i=eA(t,s);if(i!==void 0)return W(this,nn).build(this,r).setData(i,{...n,manual:!0})}setQueriesData(e,t,n){return An.batch(()=>W(this,nn).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=W(this,nn).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=W(this,nn);An.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=W(this,nn);return An.batch(()=>(n.findAll(e).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const n={revert:!0,...t},r=An.batch(()=>W(this,nn).findAll(e).map(o=>o.cancel(n)));return Promise.all(r).then(ar).catch(ar)}invalidateQueries(e,t={}){return An.batch(()=>(W(this,nn).findAll(e).forEach(n=>{n.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const n={...t,cancelRefetch:t.cancelRefetch??!0},r=An.batch(()=>W(this,nn).findAll(e).filter(o=>!o.isDisabled()&&!o.isStatic()).map(o=>{let s=o.fetch(void 0,n);return n.throwOnError||(s=s.catch(ar)),o.state.fetchStatus==="paused"?Promise.resolve():s}));return Promise.all(r).then(ar)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=W(this,nn).build(this,t);return n.isStaleByTime(Ni(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(ar).catch(ar)}fetchInfiniteQuery(e){return e.behavior=m1(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(ar).catch(ar)}ensureInfiniteQueryData(e){return e.behavior=m1(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Jp.isOnline()?W(this,xi).resumePausedMutations():Promise.resolve()}getQueryCache(){return W(this,nn)}getMutationCache(){return W(this,xi)}getDefaultOptions(){return W(this,Ci)}setDefaultOptions(e){$e(this,Ci,e)}setQueryDefaults(e,t){W(this,hc).set(qd(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...W(this,hc).values()],n={};return t.forEach(r=>{Xd(e,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){W(this,pc).set(qd(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...W(this,pc).values()],n={};return t.forEach(r=>{Xd(e,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...W(this,Ci).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=T0(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===R0&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...W(this,Ci).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){W(this,nn).clear(),W(this,xi).clear()}},nn=new WeakMap,xi=new WeakMap,Ci=new WeakMap,hc=new WeakMap,pc=new WeakMap,wi=new WeakMap,gc=new WeakMap,mc=new WeakMap,QI),xT=p.createContext(void 0),F0=e=>{const t=p.useContext(xT);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},CA=({client:e,children:t})=>(p.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),v.jsx(xT.Provider,{value:e,children:t})),CT=p.createContext(!1),wA=()=>p.useContext(CT);CT.Provider;function SA(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var kA=p.createContext(SA()),PA=()=>p.useContext(kA),MA=(e,t,n)=>{const r=n!=null&&n.state.error&&typeof e.throwOnError=="function"?pT(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},IA=e=>{p.useEffect(()=>{e.clearReset()},[e])},EA=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:o})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(o&&e.data===void 0||pT(n,[e.error,r])),_A=e=>{if(e.suspense){const n=o=>o==="static"?o:Math.max(o??1e3,1e3),r=e.staleTime;e.staleTime=typeof r=="function"?(...o)=>n(r(...o)):n(r),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},TA=(e,t)=>e.isLoading&&e.isFetching&&!t,RA=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,v1=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function OA(e,t,n){var f,h,g,m;const r=wA(),o=PA(),s=F0(),i=s.defaultQueryOptions(e);(h=(f=s.getDefaultOptions().queries)==null?void 0:f._experimental_beforeQuery)==null||h.call(f,i);const l=s.getQueryCache().get(i.queryHash);i._optimisticResults=r?"isRestoring":"optimistic",_A(i),MA(i,o,l),IA(o);const a=!s.getQueryCache().get(i.queryHash),[c]=p.useState(()=>new t(s,i)),u=c.getOptimisticResult(i),d=!r&&e.subscribed!==!1;if(p.useSyncExternalStore(p.useCallback(C=>{const b=d?c.subscribe(An.batchCalls(C)):ar;return c.updateResult(),b},[c,d]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),p.useEffect(()=>{c.setOptions(i)},[i,c]),RA(i,u))throw v1(i,c,o);if(EA({result:u,errorResetBoundary:o,throwOnError:i.throwOnError,query:l,suspense:i.suspense}))throw u.error;if((m=(g=s.getDefaultOptions().queries)==null?void 0:g._experimental_afterQuery)==null||m.call(g,i,u),i.experimental_prefetchInRender&&!ql&&TA(u,r)){const C=a?v1(i,c,o):l==null?void 0:l.promise;C==null||C.catch(ar).finally(()=>{c.updateResult()})}return i.notifyOnChangeProps?u:c.trackResult(u)}function oo(e,t){return OA(e,fA)}function js(e){let t="https://mui.com/production-error/?code="+e;for(let n=1;n0?Dn(Uc,--wr):0,Pc--,gn===10&&(Pc=1,dm--),gn}function Lr(){return gn=wr2||Qd(gn)>3?"":" "}function KA(e,t){for(;--t&&Lr()&&!(gn<48||gn>102||gn>57&&gn<65||gn>70&&gn<97););return Lf(e,ap()+(t<6&&os()==32&&Lr()==32))}function Zy(e){for(;Lr();)switch(gn){case e:return wr;case 34:case 39:e!==34&&e!==39&&Zy(gn);break;case 40:e===41&&Zy(e);break;case 92:Lr();break}return wr}function qA(e,t){for(;Lr()&&e+gn!==57;)if(e+gn===84&&os()===47)break;return"/*"+Lf(t,wr-1)+"*"+um(e===47?e:Lr())}function XA(e){for(;!Qd(os());)Lr();return Lf(e,wr)}function YA(e){return IT(up("",null,null,null,[""],e=MT(e),0,[0],e))}function up(e,t,n,r,o,s,i,l,a){for(var c=0,u=0,d=i,f=0,h=0,g=0,m=1,C=1,b=1,y=0,w="",S=o,k=s,P=r,M=w;C;)switch(g=y,y=Lr()){case 40:if(g!=108&&Dn(M,d-1)==58){Qy(M+=wt(cp(y),"&","&\f"),"&\f")!=-1&&(b=-1);break}case 34:case 39:case 91:M+=cp(y);break;case 9:case 10:case 13:case 32:M+=UA(g);break;case 92:M+=KA(ap()-1,7);continue;case 47:switch(os()){case 42:case 47:wh(QA(qA(Lr(),ap()),t,n),a);break;default:M+="/"}break;case 123*m:l[c++]=Jo(M)*b;case 125*m:case 59:case 0:switch(y){case 0:case 125:C=0;case 59+u:b==-1&&(M=wt(M,/\f/g,"")),h>0&&Jo(M)-d&&wh(h>32?x1(M+";",r,n,d-1):x1(wt(M," ","")+";",r,n,d-2),a);break;case 59:M+=";";default:if(wh(P=y1(M,t,n,c,u,o,l,w,S=[],k=[],d),s),y===123)if(u===0)up(M,t,P,P,S,s,d,l,k);else switch(f===99&&Dn(M,3)===110?100:f){case 100:case 108:case 109:case 115:up(e,P,P,r&&wh(y1(e,P,P,0,0,o,l,w,o,S=[],d),k),o,k,d,l,r?S:k);break;default:up(M,P,P,P,[""],k,0,l,k)}}c=u=h=0,m=b=1,w=M="",d=i;break;case 58:d=1+Jo(M),h=g;default:if(m<1){if(y==123)--m;else if(y==125&&m++==0&&GA()==125)continue}switch(M+=um(y),y*m){case 38:b=u>0?1:(M+="\f",-1);break;case 44:l[c++]=(Jo(M)-1)*b,b=1;break;case 64:os()===45&&(M+=cp(Lr())),f=os(),u=d=Jo(w=M+=XA(ap())),y++;break;case 45:g===45&&Jo(M)==2&&(m=0)}}return s}function y1(e,t,n,r,o,s,i,l,a,c,u){for(var d=o-1,f=o===0?s:[""],h=A0(f),g=0,m=0,C=0;g0?f[b]+" "+y:wt(y,/&\f/g,f[b])))&&(a[C++]=w);return fm(e,t,n,o===0?L0:l,a,c,u)}function QA(e,t,n){return fm(e,t,n,wT,um(WA()),Yd(e,2,-2),0)}function x1(e,t,n,r){return fm(e,t,n,D0,Yd(e,0,r),Yd(e,r+1,-1),r)}function Za(e,t){for(var n="",r=A0(e),o=0;o6)switch(Dn(e,t+1)){case 109:if(Dn(e,t+4)!==45)break;case 102:return wt(e,/(.+:)(.+)-([^]+)/,"$1"+xt+"$2-$3$1"+eg+(Dn(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~Qy(e,"stretch")?_T(wt(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Dn(e,t+1)!==115)break;case 6444:switch(Dn(e,Jo(e)-3-(~Qy(e,"!important")&&10))){case 107:return wt(e,":",":"+xt)+e;case 101:return wt(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+xt+(Dn(e,14)===45?"inline-":"")+"box$3$1"+xt+"$2$3$1"+Wn+"$2box$3")+e}break;case 5936:switch(Dn(e,t+11)){case 114:return xt+e+Wn+wt(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return xt+e+Wn+wt(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return xt+e+Wn+wt(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return xt+e+Wn+e+e}return e}var ij=function(t,n,r,o){if(t.length>-1&&!t.return)switch(t.type){case D0:t.return=_T(t.value,t.length);break;case ST:return Za([Ru(t,{value:wt(t.value,"@","@"+xt)})],o);case L0:if(t.length)return VA(t.props,function(s){switch(BA(s,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Za([Ru(t,{props:[wt(s,/:(read-\w+)/,":"+eg+"$1")]})],o);case"::placeholder":return Za([Ru(t,{props:[wt(s,/:(plac\w+)/,":"+xt+"input-$1")]}),Ru(t,{props:[wt(s,/:(plac\w+)/,":"+eg+"$1")]}),Ru(t,{props:[wt(s,/:(plac\w+)/,Wn+"input-$1")]})],o)}return""})}},lj=[ij],TT=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(m){var C=m.getAttribute("data-emotion");C.indexOf(" ")!==-1&&(document.head.appendChild(m),m.setAttribute("data-s",""))})}var o=t.stylisPlugins||lj,s={},i,l=[];i=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(m){for(var C=m.getAttribute("data-emotion").split(" "),b=1;b=4;++r,o-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(o){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var vj={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},yj=/[A-Z]|^ms/g,xj=/_EMO_([^_]+?)_([^]*?)_EMO_/g,DT=function(t){return t.charCodeAt(1)===45},w1=function(t){return t!=null&&typeof t!="boolean"},Jb=ET(function(e){return DT(e)?e:e.replace(yj,"-$&").toLowerCase()}),S1=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(xj,function(r,o,s){return es={name:o,styles:s,next:es},o})}return vj[t]!==1&&!DT(t)&&typeof n=="number"&&n!==0?n+"px":n};function Zd(e,t,n){if(n==null)return"";var r=n;if(r.__emotion_styles!==void 0)return r;switch(typeof n){case"boolean":return"";case"object":{var o=n;if(o.anim===1)return es={name:o.name,styles:o.styles,next:es},o.name;var s=n;if(s.styles!==void 0){var i=s.next;if(i!==void 0)for(;i!==void 0;)es={name:i.name,styles:i.styles,next:es},i=i.next;var l=s.styles+";";return l}return Cj(e,t,n)}case"function":{if(e!==void 0){var a=es,c=n(e);return es=a,Zd(e,t,c)}break}}var u=n;if(t==null)return u;var d=t[u];return d!==void 0?d:u}function Cj(e,t,n){var r="";if(Array.isArray(n))for(var o=0;o96?Rj:Oj},_1=function(t,n,r){var o;if(n){var s=n.shouldForwardProp;o=t.__emotion_forwardProp&&s?function(i){return t.__emotion_forwardProp(i)&&s(i)}:s}return typeof o!="function"&&r&&(o=t.__emotion_forwardProp),o},$j=function(t){var n=t.cache,r=t.serialized,o=t.isStringTag;return H0(n,r,o),jT(function(){return B0(n,r,o)}),null},Fj=function e(t,n){var r=t.__emotion_real===t,o=r&&t.__emotion_base||t,s,i;n!==void 0&&(s=n.label,i=n.target);var l=_1(t,n,r),a=l||E1(o),c=!a("as");return function(){var u=arguments,d=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(s!==void 0&&d.push("label:"+s+";"),u[0]==null||u[0].raw===void 0)d.push.apply(d,u);else{var f=u[0];d.push(f[0]);for(var h=u.length,g=1;g(o[1].styles.match(/^@layer\s+[^{]*$/)||(o[1].styles=`@layer mui {${o[1].styles}}`),r(...o))}return n}const tv=new Map;function Bj(e){const{injectFirst:t,enableCssLayer:n,children:r}=e,o=p.useMemo(()=>{const s=`${t}-${n}`;if(typeof document=="object"&&tv.has(s))return tv.get(s);const i=Hj(t,n);return tv.set(s,i),i},[t,n]);return t||n?v.jsx(Sj,{value:o,children:r}):r}function Vj(e){return e==null||Object.keys(e).length===0}function WT(e){const{styles:t,defaultTheme:n={}}=e,r=typeof t=="function"?o=>t(Vj(o)?n:o):t;return v.jsx(Ej,{styles:r})}function G0(e,t){return tg(e,t)}const GT=(e,t)=>{Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))},T1=[];function ng(e){return T1[0]=e,Kc(T1)}const Wj=Object.freeze(Object.defineProperty({__proto__:null,GlobalStyles:WT,StyledEngineProvider:Bj,ThemeContext:qc,css:zs,default:G0,internal_processStyles:GT,internal_serializeStyles:ng,keyframes:jo},Symbol.toStringTag,{value:"Module"}));function Es(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function UT(e){if(p.isValidElement(e)||!Es(e))return e;const t={};return Object.keys(e).forEach(n=>{t[n]=UT(e[n])}),t}function tr(e,t,n={clone:!0}){const r=n.clone?x({},e):e;return Es(e)&&Es(t)&&Object.keys(t).forEach(o=>{p.isValidElement(t[o])?r[o]=t[o]:Es(t[o])&&Object.prototype.hasOwnProperty.call(e,o)&&Es(e[o])?r[o]=tr(e[o],t[o],n):n.clone?r[o]=Es(t[o])?UT(t[o]):t[o]:r[o]=t[o]}),r}const Gj=Object.freeze(Object.defineProperty({__proto__:null,default:tr,isPlainObject:Es},Symbol.toStringTag,{value:"Module"})),Uj=["values","unit","step"],Kj=e=>{const t=Object.keys(e).map(n=>({key:n,val:e[n]}))||[];return t.sort((n,r)=>n.val-r.val),t.reduce((n,r)=>x({},n,{[r.key]:r.val}),{})};function KT(e){const{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:n="px",step:r=5}=e,o=te(e,Uj),s=Kj(t),i=Object.keys(s);function l(f){return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${n})`}function a(f){return`@media (max-width:${(typeof t[f]=="number"?t[f]:f)-r/100}${n})`}function c(f,h){const g=i.indexOf(h);return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${n}) and (max-width:${(g!==-1&&typeof t[i[g]]=="number"?t[i[g]]:h)-r/100}${n})`}function u(f){return i.indexOf(f)+1`@media (min-width:${U0[e]}px)`};function Sr(e,t,n){const r=e.theme||{};if(Array.isArray(t)){const s=r.breakpoints||R1;return t.reduce((i,l,a)=>(i[s.up(s.keys[a])]=n(t[a]),i),{})}if(typeof t=="object"){const s=r.breakpoints||R1;return Object.keys(t).reduce((i,l)=>{if(Object.keys(s.values||U0).indexOf(l)!==-1){const a=s.up(l);i[a]=n(t[l],l)}else{const a=l;i[a]=t[a]}return i},{})}return n(t)}function qT(e={}){var t;return((t=e.keys)==null?void 0:t.reduce((r,o)=>{const s=e.up(o);return r[s]={},r},{}))||{}}function ex(e,t){return e.reduce((n,r)=>{const o=n[r];return(!o||Object.keys(o).length===0)&&delete n[r],n},t)}function Xj(e,...t){const n=qT(e),r=[n,...t].reduce((o,s)=>tr(o,s),{});return ex(Object.keys(n),r)}function Yj(e,t){if(typeof e!="object")return{};const n={},r=Object.keys(t);return Array.isArray(e)?r.forEach((o,s)=>{s{e[o]!=null&&(n[o]=!0)}),n}function Dl({values:e,breakpoints:t,base:n}){const r=n||Yj(e,t),o=Object.keys(r);if(o.length===0)return e;let s;return o.reduce((i,l,a)=>(Array.isArray(e)?(i[l]=e[a]!=null?e[a]:e[s],s=a):typeof e=="object"?(i[l]=e[l]!=null?e[l]:e[s],s=l):i[l]=e,i),{})}function oe(e){if(typeof e!="string")throw new Error(js(7));return e.charAt(0).toUpperCase()+e.slice(1)}const Qj=Object.freeze(Object.defineProperty({__proto__:null,default:oe},Symbol.toStringTag,{value:"Module"}));function Mc(e,t,n=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&n){const r=`vars.${t}`.split(".").reduce((o,s)=>o&&o[s]?o[s]:null,e);if(r!=null)return r}return t.split(".").reduce((r,o)=>r&&r[o]!=null?r[o]:null,e)}function rg(e,t,n,r=n){let o;return typeof e=="function"?o=e(n):Array.isArray(e)?o=e[n]||r:o=Mc(e,n)||r,t&&(o=t(o,r,e)),o}function dn(e){const{prop:t,cssProperty:n=e.prop,themeKey:r,transform:o}=e,s=i=>{if(i[t]==null)return null;const l=i[t],a=i.theme,c=Mc(a,r)||{};return Sr(i,l,d=>{let f=rg(c,o,d);return d===f&&typeof d=="string"&&(f=rg(c,o,`${t}${d==="default"?"":oe(d)}`,d)),n===!1?f:{[n]:f}})};return s.propTypes={},s.filterProps=[t],s}function Zj(e){const t={};return n=>(t[n]===void 0&&(t[n]=e(n)),t[n])}const Jj={m:"margin",p:"padding"},ez={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},O1={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},tz=Zj(e=>{if(e.length>2)if(O1[e])e=O1[e];else return[e];const[t,n]=e.split(""),r=Jj[t],o=ez[n]||"";return Array.isArray(o)?o.map(s=>r+s):[r+o]}),K0=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],q0=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"];[...K0,...q0];function Df(e,t,n,r){var o;const s=(o=Mc(e,t,!1))!=null?o:n;return typeof s=="number"?i=>typeof i=="string"?i:s*i:Array.isArray(s)?i=>typeof i=="string"?i:s[i]:typeof s=="function"?s:()=>{}}function X0(e){return Df(e,"spacing",8)}function Xl(e,t){if(typeof t=="string"||t==null)return t;const n=Math.abs(t),r=e(n);return t>=0?r:typeof r=="number"?-r:`-${r}`}function nz(e,t){return n=>e.reduce((r,o)=>(r[o]=Xl(t,n),r),{})}function rz(e,t,n,r){if(t.indexOf(n)===-1)return null;const o=tz(n),s=nz(o,r),i=e[n];return Sr(e,i,s)}function XT(e,t){const n=X0(e.theme);return Object.keys(e).map(r=>rz(e,t,r,n)).reduce(xd,{})}function Zt(e){return XT(e,K0)}Zt.propTypes={};Zt.filterProps=K0;function Jt(e){return XT(e,q0)}Jt.propTypes={};Jt.filterProps=q0;function oz(e=8){if(e.mui)return e;const t=X0({spacing:e}),n=(...r)=>(r.length===0?[1]:r).map(s=>{const i=t(s);return typeof i=="number"?`${i}px`:i}).join(" ");return n.mui=!0,n}function Sm(...e){const t=e.reduce((r,o)=>(o.filterProps.forEach(s=>{r[s]=o}),r),{}),n=r=>Object.keys(r).reduce((o,s)=>t[s]?xd(o,t[s](r)):o,{});return n.propTypes={},n.filterProps=e.reduce((r,o)=>r.concat(o.filterProps),[]),n}function Qr(e){return typeof e!="number"?e:`${e}px solid`}function go(e,t){return dn({prop:e,themeKey:"borders",transform:t})}const sz=go("border",Qr),iz=go("borderTop",Qr),lz=go("borderRight",Qr),az=go("borderBottom",Qr),cz=go("borderLeft",Qr),uz=go("borderColor"),dz=go("borderTopColor"),fz=go("borderRightColor"),hz=go("borderBottomColor"),pz=go("borderLeftColor"),gz=go("outline",Qr),mz=go("outlineColor"),km=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const t=Df(e.theme,"shape.borderRadius",4),n=r=>({borderRadius:Xl(t,r)});return Sr(e,e.borderRadius,n)}return null};km.propTypes={};km.filterProps=["borderRadius"];Sm(sz,iz,lz,az,cz,uz,dz,fz,hz,pz,km,gz,mz);const Pm=e=>{if(e.gap!==void 0&&e.gap!==null){const t=Df(e.theme,"spacing",8),n=r=>({gap:Xl(t,r)});return Sr(e,e.gap,n)}return null};Pm.propTypes={};Pm.filterProps=["gap"];const Mm=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const t=Df(e.theme,"spacing",8),n=r=>({columnGap:Xl(t,r)});return Sr(e,e.columnGap,n)}return null};Mm.propTypes={};Mm.filterProps=["columnGap"];const Im=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const t=Df(e.theme,"spacing",8),n=r=>({rowGap:Xl(t,r)});return Sr(e,e.rowGap,n)}return null};Im.propTypes={};Im.filterProps=["rowGap"];const bz=dn({prop:"gridColumn"}),vz=dn({prop:"gridRow"}),yz=dn({prop:"gridAutoFlow"}),xz=dn({prop:"gridAutoColumns"}),Cz=dn({prop:"gridAutoRows"}),wz=dn({prop:"gridTemplateColumns"}),Sz=dn({prop:"gridTemplateRows"}),kz=dn({prop:"gridTemplateAreas"}),Pz=dn({prop:"gridArea"});Sm(Pm,Mm,Im,bz,vz,yz,xz,Cz,wz,Sz,kz,Pz);function Ja(e,t){return t==="grey"?t:e}const Mz=dn({prop:"color",themeKey:"palette",transform:Ja}),Iz=dn({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:Ja}),Ez=dn({prop:"backgroundColor",themeKey:"palette",transform:Ja});Sm(Mz,Iz,Ez);function Rr(e){return e<=1&&e!==0?`${e*100}%`:e}const _z=dn({prop:"width",transform:Rr}),Y0=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const t=n=>{var r,o;const s=((r=e.theme)==null||(r=r.breakpoints)==null||(r=r.values)==null?void 0:r[n])||U0[n];return s?((o=e.theme)==null||(o=o.breakpoints)==null?void 0:o.unit)!=="px"?{maxWidth:`${s}${e.theme.breakpoints.unit}`}:{maxWidth:s}:{maxWidth:Rr(n)}};return Sr(e,e.maxWidth,t)}return null};Y0.filterProps=["maxWidth"];const Tz=dn({prop:"minWidth",transform:Rr}),Rz=dn({prop:"height",transform:Rr}),Oz=dn({prop:"maxHeight",transform:Rr}),$z=dn({prop:"minHeight",transform:Rr});dn({prop:"size",cssProperty:"width",transform:Rr});dn({prop:"size",cssProperty:"height",transform:Rr});const Fz=dn({prop:"boxSizing"});Sm(_z,Y0,Tz,Rz,Oz,$z,Fz);const Af={border:{themeKey:"borders",transform:Qr},borderTop:{themeKey:"borders",transform:Qr},borderRight:{themeKey:"borders",transform:Qr},borderBottom:{themeKey:"borders",transform:Qr},borderLeft:{themeKey:"borders",transform:Qr},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:Qr},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:km},color:{themeKey:"palette",transform:Ja},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:Ja},backgroundColor:{themeKey:"palette",transform:Ja},p:{style:Jt},pt:{style:Jt},pr:{style:Jt},pb:{style:Jt},pl:{style:Jt},px:{style:Jt},py:{style:Jt},padding:{style:Jt},paddingTop:{style:Jt},paddingRight:{style:Jt},paddingBottom:{style:Jt},paddingLeft:{style:Jt},paddingX:{style:Jt},paddingY:{style:Jt},paddingInline:{style:Jt},paddingInlineStart:{style:Jt},paddingInlineEnd:{style:Jt},paddingBlock:{style:Jt},paddingBlockStart:{style:Jt},paddingBlockEnd:{style:Jt},m:{style:Zt},mt:{style:Zt},mr:{style:Zt},mb:{style:Zt},ml:{style:Zt},mx:{style:Zt},my:{style:Zt},margin:{style:Zt},marginTop:{style:Zt},marginRight:{style:Zt},marginBottom:{style:Zt},marginLeft:{style:Zt},marginX:{style:Zt},marginY:{style:Zt},marginInline:{style:Zt},marginInlineStart:{style:Zt},marginInlineEnd:{style:Zt},marginBlock:{style:Zt},marginBlockStart:{style:Zt},marginBlockEnd:{style:Zt},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:Pm},rowGap:{style:Im},columnGap:{style:Mm},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:Rr},maxWidth:{style:Y0},minWidth:{transform:Rr},height:{transform:Rr},maxHeight:{transform:Rr},minHeight:{transform:Rr},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}};function Lz(...e){const t=e.reduce((r,o)=>r.concat(Object.keys(o)),[]),n=new Set(t);return e.every(r=>n.size===Object.keys(r).length)}function Dz(e,t){return typeof e=="function"?e(t):e}function YT(){function e(n,r,o,s){const i={[n]:r,theme:o},l=s[n];if(!l)return{[n]:r};const{cssProperty:a=n,themeKey:c,transform:u,style:d}=l;if(r==null)return null;if(c==="typography"&&r==="inherit")return{[n]:r};const f=Mc(o,c)||{};return d?d(i):Sr(i,r,g=>{let m=rg(f,u,g);return g===m&&typeof g=="string"&&(m=rg(f,u,`${n}${g==="default"?"":oe(g)}`,g)),a===!1?m:{[a]:m}})}function t(n){var r;const{sx:o,theme:s={},nested:i}=n||{};if(!o)return null;const l=(r=s.unstable_sxConfig)!=null?r:Af;function a(c){let u=c;if(typeof c=="function")u=c(s);else if(typeof c!="object")return c;if(!u)return null;const d=qT(s.breakpoints),f=Object.keys(d);let h=d;return Object.keys(u).forEach(g=>{const m=Dz(u[g],s);if(m!=null)if(typeof m=="object")if(l[g])h=xd(h,e(g,m,s,l));else{const C=Sr({theme:s},m,b=>({[g]:b}));Lz(C,m)?h[g]=t({sx:m,theme:s,nested:!0}):h=xd(h,C)}else h=xd(h,e(g,m,s,l))}),!i&&s.modularCssLayers?{"@layer sx":ex(f,h)}:ex(f,h)}return Array.isArray(o)?o.map(a):a(o)}return t}const Xc=YT();Xc.filterProps=["sx"];function QT(e,t){const n=this;return n.vars&&typeof n.getColorSchemeSelector=="function"?{[n.getColorSchemeSelector(e).replace(/(\[[^\]]+\])/,"*:where($1)")]:t}:n.palette.mode===e?t:{}}const Az=["breakpoints","palette","spacing","shape"];function Yc(e={},...t){const{breakpoints:n={},palette:r={},spacing:o,shape:s={}}=e,i=te(e,Az),l=KT(n),a=oz(o);let c=tr({breakpoints:l,direction:"ltr",components:{},palette:x({mode:"light"},r),spacing:a,shape:x({},qj,s)},i);return c.applyStyles=QT,c=t.reduce((u,d)=>tr(u,d),c),c.unstable_sxConfig=x({},Af,i==null?void 0:i.unstable_sxConfig),c.unstable_sx=function(d){return Xc({sx:d,theme:this})},c}const jz=Object.freeze(Object.defineProperty({__proto__:null,default:Yc,private_createBreakpoints:KT,unstable_applyStyles:QT},Symbol.toStringTag,{value:"Module"}));function zz(e){return Object.keys(e).length===0}function Q0(e=null){const t=p.useContext(qc);return!t||zz(t)?e:t}const Nz=Yc();function Em(e=Nz){return Q0(e)}function nv(e){const t=ng(e);return e!==t&&t.styles?(t.styles.match(/^@layer\s+[^{]*$/)||(t.styles=`@layer global{${t.styles}}`),t):e}function ZT({styles:e,themeId:t,defaultTheme:n={}}){const r=Em(n),o=t&&r[t]||r;let s=typeof e=="function"?e(o):e;return o.modularCssLayers&&(Array.isArray(s)?s=s.map(i=>nv(typeof i=="function"?i(o):i)):s=nv(s)),v.jsx(WT,{styles:s})}const Hz=["sx"],Bz=e=>{var t,n;const r={systemProps:{},otherProps:{}},o=(t=e==null||(n=e.theme)==null?void 0:n.unstable_sxConfig)!=null?t:Af;return Object.keys(e).forEach(s=>{o[s]?r.systemProps[s]=e[s]:r.otherProps[s]=e[s]}),r};function jf(e){const{sx:t}=e,n=te(e,Hz),{systemProps:r,otherProps:o}=Bz(n);let s;return Array.isArray(t)?s=[r,...t]:typeof t=="function"?s=(...i)=>{const l=t(...i);return Es(l)?x({},r,l):r}:s=x({},r,t),x({},o,{sx:s})}const Vz=Object.freeze(Object.defineProperty({__proto__:null,default:Xc,extendSxProp:jf,unstable_createStyleFunctionSx:YT,unstable_defaultSxConfig:Af},Symbol.toStringTag,{value:"Module"})),$1=e=>e,Wz=()=>{let e=$1;return{configure(t){e=t},generate(t){return e(t)},reset(){e=$1}}},Z0=Wz();function JT(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;tl!=="theme"&&l!=="sx"&&l!=="as"})(Xc);return p.forwardRef(function(a,c){const u=Em(n),d=jf(a),{className:f,component:h="div"}=d,g=te(d,Gz);return v.jsx(s,x({as:h,ref:c,className:le(f,o?o(r):r),theme:t&&u[t]||u},g))})}const Kz={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function ze(e,t,n="Mui"){const r=Kz[t];return r?`${n}-${r}`:`${Z0.generate(e)}-${t}`}function Ne(e,t,n="Mui"){const r={};return t.forEach(o=>{r[o]=ze(e,o,n)}),r}var eR={exports:{}},Lt={};/**
+ * @license React
+ * react-is.production.js
+ *
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */var J0=Symbol.for("react.transitional.element"),eC=Symbol.for("react.portal"),_m=Symbol.for("react.fragment"),Tm=Symbol.for("react.strict_mode"),Rm=Symbol.for("react.profiler"),Om=Symbol.for("react.consumer"),$m=Symbol.for("react.context"),Fm=Symbol.for("react.forward_ref"),Lm=Symbol.for("react.suspense"),Dm=Symbol.for("react.suspense_list"),Am=Symbol.for("react.memo"),jm=Symbol.for("react.lazy"),qz=Symbol.for("react.view_transition"),Xz=Symbol.for("react.client.reference");function mo(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case J0:switch(e=e.type,e){case _m:case Rm:case Tm:case Lm:case Dm:case qz:return e;default:switch(e=e&&e.$$typeof,e){case $m:case Fm:case jm:case Am:return e;case Om:return e;default:return t}}case eC:return t}}}Lt.ContextConsumer=Om;Lt.ContextProvider=$m;Lt.Element=J0;Lt.ForwardRef=Fm;Lt.Fragment=_m;Lt.Lazy=jm;Lt.Memo=Am;Lt.Portal=eC;Lt.Profiler=Rm;Lt.StrictMode=Tm;Lt.Suspense=Lm;Lt.SuspenseList=Dm;Lt.isContextConsumer=function(e){return mo(e)===Om};Lt.isContextProvider=function(e){return mo(e)===$m};Lt.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===J0};Lt.isForwardRef=function(e){return mo(e)===Fm};Lt.isFragment=function(e){return mo(e)===_m};Lt.isLazy=function(e){return mo(e)===jm};Lt.isMemo=function(e){return mo(e)===Am};Lt.isPortal=function(e){return mo(e)===eC};Lt.isProfiler=function(e){return mo(e)===Rm};Lt.isStrictMode=function(e){return mo(e)===Tm};Lt.isSuspense=function(e){return mo(e)===Lm};Lt.isSuspenseList=function(e){return mo(e)===Dm};Lt.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===_m||e===Rm||e===Tm||e===Lm||e===Dm||typeof e=="object"&&e!==null&&(e.$$typeof===jm||e.$$typeof===Am||e.$$typeof===$m||e.$$typeof===Om||e.$$typeof===Fm||e.$$typeof===Xz||e.getModuleId!==void 0)};Lt.typeOf=mo;eR.exports=Lt;var og=eR.exports;const Yz=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function tR(e){const t=`${e}`.match(Yz);return t&&t[1]||""}function nR(e,t=""){return e.displayName||e.name||tR(e)||t}function F1(e,t,n){const r=nR(t);return e.displayName||(r!==""?`${n}(${r})`:n)}function Qz(e){if(e!=null){if(typeof e=="string")return e;if(typeof e=="function")return nR(e,"Component");if(typeof e=="object")switch(e.$$typeof){case og.ForwardRef:return F1(e,e.render,"ForwardRef");case og.Memo:return F1(e,e.type,"memo");default:return}}}const Zz=Object.freeze(Object.defineProperty({__proto__:null,default:Qz,getFunctionName:tR},Symbol.toStringTag,{value:"Module"})),Jz=["ownerState"],eN=["variants"],tN=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function nN(e){return Object.keys(e).length===0}function rN(e){return typeof e=="string"&&e.charCodeAt(0)>96}function rv(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}function L1(e,t){return t&&e&&typeof e=="object"&&e.styles&&!e.styles.startsWith("@layer")&&(e.styles=`@layer ${t}{${String(e.styles)}}`),e}const oN=Yc(),sN=e=>e&&e.charAt(0).toLowerCase()+e.slice(1);function Sh({defaultTheme:e,theme:t,themeId:n}){return nN(t)?e:t[n]||t}function iN(e){return e?(t,n)=>n[e]:null}function dp(e,t,n){let{ownerState:r}=t,o=te(t,Jz);const s=typeof e=="function"?e(x({ownerState:r},o)):e;if(Array.isArray(s))return s.flatMap(i=>dp(i,x({ownerState:r},o),n));if(s&&typeof s=="object"&&Array.isArray(s.variants)){const{variants:i=[]}=s;let a=te(s,eN);return i.forEach(c=>{let u=!0;if(typeof c.props=="function"?u=c.props(x({ownerState:r},o,r)):Object.keys(c.props).forEach(d=>{(r==null?void 0:r[d])!==c.props[d]&&o[d]!==c.props[d]&&(u=!1)}),u){Array.isArray(a)||(a=[a]);const d=typeof c.style=="function"?c.style(x({ownerState:r},o,r)):c.style;a.push(n?L1(ng(d),n):d)}}),a}return n?L1(ng(s),n):s}function lN(e={}){const{themeId:t,defaultTheme:n=oN,rootShouldForwardProp:r=rv,slotShouldForwardProp:o=rv}=e,s=i=>Xc(x({},i,{theme:Sh(x({},i,{defaultTheme:n,themeId:t}))}));return s.__mui_systemSx=!0,(i,l={})=>{GT(i,P=>P.filter(M=>!(M!=null&&M.__mui_systemSx)));const{name:a,slot:c,skipVariantsResolver:u,skipSx:d,overridesResolver:f=iN(sN(c))}=l,h=te(l,tN),g=a&&a.startsWith("Mui")||c?"components":"custom",m=u!==void 0?u:c&&c!=="Root"&&c!=="root"||!1,C=d||!1;let b,y=rv;c==="Root"||c==="root"?y=r:c?y=o:rN(i)&&(y=void 0);const w=G0(i,x({shouldForwardProp:y,label:b},h)),S=P=>typeof P=="function"&&P.__emotion_real!==P||Es(P)?M=>{const I=Sh({theme:M.theme,defaultTheme:n,themeId:t});return dp(P,x({},M,{theme:I}),I.modularCssLayers?g:void 0)}:P,k=(P,...M)=>{let I=S(P);const E=M?M.map(S):[];a&&f&&E.push($=>{const L=Sh(x({},$,{defaultTheme:n,themeId:t}));if(!L.components||!L.components[a]||!L.components[a].styleOverrides)return null;const A=L.components[a].styleOverrides,R={};return Object.entries(A).forEach(([_,O])=>{R[_]=dp(O,x({},$,{theme:L}),L.modularCssLayers?"theme":void 0)}),f($,R)}),a&&!m&&E.push($=>{var L;const A=Sh(x({},$,{defaultTheme:n,themeId:t})),R=A==null||(L=A.components)==null||(L=L[a])==null?void 0:L.variants;return dp({variants:R},x({},$,{theme:A}),A.modularCssLayers?"theme":void 0)}),C||E.push(s);const T=E.length-M.length;if(Array.isArray(P)&&T>0){const $=new Array(T).fill("");I=[...P,...$],I.raw=[...P.raw,...$]}const D=w(I,...E);return i.muiName&&(D.muiName=i.muiName),D};return w.withConfig&&(k.withConfig=w.withConfig),k}}const rR=lN();function Ic(e,t){const n=x({},t);return Object.keys(e).forEach(r=>{if(r.toString().match(/^(components|slots)$/))n[r]=x({},e[r],n[r]);else if(r.toString().match(/^(componentsProps|slotProps)$/)){const o=e[r]||{},s=t[r];n[r]={},!s||!Object.keys(s)?n[r]=o:!o||!Object.keys(o)?n[r]=s:(n[r]=x({},s),Object.keys(o).forEach(i=>{n[r][i]=Ic(o[i],s[i])}))}else n[r]===void 0&&(n[r]=e[r])}),n}function aN(e){const{theme:t,name:n,props:r}=e;return!t||!t.components||!t.components[n]||!t.components[n].defaultProps?r:Ic(t.components[n].defaultProps,r)}function oR({props:e,name:t,defaultTheme:n,themeId:r}){let o=Em(n);return r&&(o=o[r]||o),aN({theme:o,name:t,props:e})}const Et=typeof window<"u"?p.useLayoutEffect:p.useEffect;function sR(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}const cN=Object.freeze(Object.defineProperty({__proto__:null,default:sR},Symbol.toStringTag,{value:"Module"}));function tC(e,t=0,n=1){return sR(e,t,n)}function uN(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let n=e.match(t);return n&&n[0].length===1&&(n=n.map(r=>r+r)),n?`rgb${n.length===4?"a":""}(${n.map((r,o)=>o<3?parseInt(r,16):Math.round(parseInt(r,16)/255*1e3)/1e3).join(", ")})`:""}function Ec(e){if(e.type)return e;if(e.charAt(0)==="#")return Ec(uN(e));const t=e.indexOf("("),n=e.substring(0,t);if(["rgb","rgba","hsl","hsla","color"].indexOf(n)===-1)throw new Error(js(9,e));let r=e.substring(t+1,e.length-1),o;if(n==="color"){if(r=r.split(" "),o=r.shift(),r.length===4&&r[3].charAt(0)==="/"&&(r[3]=r[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(o)===-1)throw new Error(js(10,o))}else r=r.split(",");return r=r.map(s=>parseFloat(s)),{type:n,values:r,colorSpace:o}}function zm(e){const{type:t,colorSpace:n}=e;let{values:r}=e;return t.indexOf("rgb")!==-1?r=r.map((o,s)=>s<3?parseInt(o,10):o):t.indexOf("hsl")!==-1&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),t.indexOf("color")!==-1?r=`${n} ${r.join(" ")}`:r=`${r.join(", ")}`,`${t}(${r})`}function Cl(e,t){return e=Ec(e),t=tC(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,zm(e)}function dN(e,t){if(e=Ec(e),t=tC(t),e.type.indexOf("hsl")!==-1)e.values[2]*=1-t;else if(e.type.indexOf("rgb")!==-1||e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]*=1-t;return zm(e)}function fN(e,t){if(e=Ec(e),t=tC(t),e.type.indexOf("hsl")!==-1)e.values[2]+=(100-e.values[2])*t;else if(e.type.indexOf("rgb")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(1-e.values[n])*t;return zm(e)}function tx(...e){return e.reduce((t,n)=>n==null?t:function(...o){t.apply(this,o),n.apply(this,o)},()=>{})}function Qc(e,t=166){let n;function r(...o){const s=()=>{e.apply(this,o)};clearTimeout(n),n=setTimeout(s,t)}return r.clear=()=>{clearTimeout(n)},r}function hN(e,t){return()=>null}function fp(e,t){var n,r;return p.isValidElement(e)&&t.indexOf((n=e.type.muiName)!=null?n:(r=e.type)==null||(r=r._payload)==null||(r=r.value)==null?void 0:r.muiName)!==-1}function Ft(e){return e&&e.ownerDocument||document}function Do(e){return Ft(e).defaultView||window}function pN(e,t){return()=>null}function Jd(e,t){typeof e=="function"?e(t):e&&(e.current=t)}let D1=0;function gN(e){const[t,n]=p.useState(e),r=e||t;return p.useEffect(()=>{t==null&&(D1+=1,n(`mui-${D1}`))},[t]),r}const A1=Wv.useId;function gt(e){if(A1!==void 0){const t=A1();return e??t}return gN(e)}function mN(e,t,n,r,o){return null}function Hi({controlled:e,default:t,name:n,state:r="value"}){const{current:o}=p.useRef(e!==void 0),[s,i]=p.useState(t),l=o?e:s,a=p.useCallback(c=>{o||i(c)},[]);return[l,a]}function Ke(e){const t=p.useRef(e);return Et(()=>{t.current=e}),p.useRef((...n)=>(0,t.current)(...n)).current}function vt(...e){return p.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(n=>{Jd(n,t)})},e)}const j1={};function zo(e,t){const n=p.useRef(j1);return n.current===j1&&(n.current=e(t)),n}const bN=[];function nC(e){p.useEffect(e,bN)}class zf{constructor(){this.currentId=null,this.clear=()=>{this.currentId!==null&&(clearTimeout(this.currentId),this.currentId=null)},this.disposeEffect=()=>this.clear}static create(){return new zf}start(t,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,n()},t)}}function pr(){const e=zo(zf.create).current;return nC(e.disposeEffect),e}let Nm=!0,nx=!1;const vN=new zf,yN={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function xN(e){const{type:t,tagName:n}=e;return!!(n==="INPUT"&&yN[t]&&!e.readOnly||n==="TEXTAREA"&&!e.readOnly||e.isContentEditable)}function CN(e){e.metaKey||e.altKey||e.ctrlKey||(Nm=!0)}function ov(){Nm=!1}function wN(){this.visibilityState==="hidden"&&nx&&(Nm=!0)}function SN(e){e.addEventListener("keydown",CN,!0),e.addEventListener("mousedown",ov,!0),e.addEventListener("pointerdown",ov,!0),e.addEventListener("touchstart",ov,!0),e.addEventListener("visibilitychange",wN,!0)}function kN(e){const{target:t}=e;try{return t.matches(":focus-visible")}catch{}return Nm||xN(t)}function Hm(){const e=p.useCallback(o=>{o!=null&&SN(o.ownerDocument)},[]),t=p.useRef(!1);function n(){return t.current?(nx=!0,vN.start(100,()=>{nx=!1}),t.current=!1,!0):!1}function r(o){return kN(o)?(t.current=!0,!0):!1}return{isFocusVisibleRef:t,onFocus:r,onBlur:n,ref:e}}function iR(e){const t=e.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}let da;function lR(){if(da)return da;const e=document.createElement("div"),t=document.createElement("div");return t.style.width="10px",t.style.height="1px",e.appendChild(t),e.dir="rtl",e.style.fontSize="14px",e.style.width="4px",e.style.height="1px",e.style.position="absolute",e.style.top="-1000px",e.style.overflow="scroll",document.body.appendChild(e),da="reverse",e.scrollLeft>0?da="default":(e.scrollLeft=1,e.scrollLeft===0&&(da="negative")),document.body.removeChild(e),da}function PN(e,t){const n=e.scrollLeft;if(t!=="rtl")return n;switch(lR()){case"negative":return e.scrollWidth-e.clientWidth+n;case"reverse":return e.scrollWidth-e.clientWidth-n;default:return n}}const rC=e=>{const t=p.useRef({});return p.useEffect(()=>{t.current=e}),t.current};function ve(e,t,n=void 0){const r={};return Object.keys(e).forEach(o=>{r[o]=e[o].reduce((s,i)=>{if(i){const l=t(i);l!==""&&s.push(l),n&&n[i]&&s.push(n[i])}return s},[]).join(" ")}),r}function ef(e){return typeof e=="string"}function Ha(e,t,n){return e===void 0||ef(e)?t:x({},t,{ownerState:x({},t.ownerState,n)})}function sg(e,t=[]){if(e===void 0)return{};const n={};return Object.keys(e).filter(r=>r.match(/^on[A-Z]/)&&typeof e[r]=="function"&&!t.includes(r)).forEach(r=>{n[r]=e[r]}),n}function z1(e){if(e===void 0)return{};const t={};return Object.keys(e).filter(n=>!(n.match(/^on[A-Z]/)&&typeof e[n]=="function")).forEach(n=>{t[n]=e[n]}),t}function aR(e){const{getSlotProps:t,additionalProps:n,externalSlotProps:r,externalForwardedProps:o,className:s}=e;if(!t){const h=le(n==null?void 0:n.className,s,o==null?void 0:o.className,r==null?void 0:r.className),g=x({},n==null?void 0:n.style,o==null?void 0:o.style,r==null?void 0:r.style),m=x({},n,o,r);return h.length>0&&(m.className=h),Object.keys(g).length>0&&(m.style=g),{props:m,internalRef:void 0}}const i=sg(x({},o,r)),l=z1(r),a=z1(o),c=t(i),u=le(c==null?void 0:c.className,n==null?void 0:n.className,s,o==null?void 0:o.className,r==null?void 0:r.className),d=x({},c==null?void 0:c.style,n==null?void 0:n.style,o==null?void 0:o.style,r==null?void 0:r.style),f=x({},c,n,a,l);return u.length>0&&(f.className=u),Object.keys(d).length>0&&(f.style=d),{props:f,internalRef:c.ref}}function cR(e,t,n){return typeof e=="function"?e(t,n):e}const MN=["elementType","externalSlotProps","ownerState","skipResolvingSlotProps"];function kr(e){var t;const{elementType:n,externalSlotProps:r,ownerState:o,skipResolvingSlotProps:s=!1}=e,i=te(e,MN),l=s?{}:cR(r,o),{props:a,internalRef:c}=aR(x({},i,{externalSlotProps:l})),u=vt(c,l==null?void 0:l.ref,(t=e.additionalProps)==null?void 0:t.ref);return Ha(n,x({},a,{ref:u}),o)}function ra(e){if(parseInt(p.version,10)>=19){var t;return(e==null||(t=e.props)==null?void 0:t.ref)||null}return(e==null?void 0:e.ref)||null}const uR=p.createContext(null);function dR(){return p.useContext(uR)}const IN=typeof Symbol=="function"&&Symbol.for,EN=IN?Symbol.for("mui.nested"):"__THEME_NESTED__";function _N(e,t){return typeof t=="function"?t(e):x({},e,t)}function TN(e){const{children:t,theme:n}=e,r=dR(),o=p.useMemo(()=>{const s=r===null?n:_N(r,n);return s!=null&&(s[EN]=r!==null),s},[n,r]);return v.jsx(uR.Provider,{value:o,children:t})}const RN=["value"],fR=p.createContext();function ON(e){let{value:t}=e,n=te(e,RN);return v.jsx(fR.Provider,x({value:t??!0},n))}const Zc=()=>{const e=p.useContext(fR);return e??!1},hR=p.createContext(void 0);function $N({value:e,children:t}){return v.jsx(hR.Provider,{value:e,children:t})}function FN(e){const{theme:t,name:n,props:r}=e;if(!t||!t.components||!t.components[n])return r;const o=t.components[n];return o.defaultProps?Ic(o.defaultProps,r):!o.styleOverrides&&!o.variants?Ic(o,r):r}function LN({props:e,name:t}){const n=p.useContext(hR);return FN({props:e,name:t,theme:{components:n}})}function DN(e){const t=Q0(),n=gt()||"",{modularCssLayers:r}=e;let o="mui.global, mui.components, mui.theme, mui.custom, mui.sx";return!r||t!==null?o="":typeof r=="string"?o=r.replace(/mui(?!\.)/g,o):o=`@layer ${o};`,Et(()=>{const s=document.querySelector("head");if(!s)return;const i=s.firstChild;if(o){var l;if(i&&(l=i.hasAttribute)!=null&&l.call(i,"data-mui-layer-order")&&i.getAttribute("data-mui-layer-order")===n)return;const c=document.createElement("style");c.setAttribute("data-mui-layer-order",n),c.textContent=o,s.prepend(c)}else{var a;(a=s.querySelector(`style[data-mui-layer-order="${n}"]`))==null||a.remove()}},[o,n]),o?v.jsx(ZT,{styles:o}):null}const N1={};function H1(e,t,n,r=!1){return p.useMemo(()=>{const o=e&&t[e]||t;if(typeof n=="function"){const s=n(o),i=e?x({},t,{[e]:s}):s;return r?()=>i:i}return e?x({},t,{[e]:n}):x({},t,n)},[e,t,n,r])}function AN(e){const{children:t,theme:n,themeId:r}=e,o=Q0(N1),s=dR()||N1,i=H1(r,o,n),l=H1(r,s,n,!0),a=i.direction==="rtl",c=DN(i);return v.jsx(TN,{theme:l,children:v.jsx(qc.Provider,{value:i,children:v.jsx(ON,{value:a,children:v.jsxs($N,{value:i==null?void 0:i.components,children:[c,t]})})})})}function tf(e){"@babel/helpers - typeof";return tf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},tf(e)}function jN(e,t){if(tf(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(tf(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function nf(e){var t=jN(e,"string");return tf(t)=="symbol"?t:t+""}const zN=["className","component","disableGutters","fixed","maxWidth","classes"],NN=Yc(),HN=rR("div",{name:"MuiContainer",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`maxWidth${oe(String(n.maxWidth))}`],n.fixed&&t.fixed,n.disableGutters&&t.disableGutters]}}),BN=e=>oR({props:e,name:"MuiContainer",defaultTheme:NN}),VN=(e,t)=>{const n=a=>ze(t,a),{classes:r,fixed:o,disableGutters:s,maxWidth:i}=e,l={root:["root",i&&`maxWidth${oe(String(i))}`,o&&"fixed",s&&"disableGutters"]};return ve(l,n,r)};function WN(e={}){const{createStyledComponent:t=HN,useThemeProps:n=BN,componentName:r="MuiContainer"}=e,o=t(({theme:i,ownerState:l})=>x({width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",display:"block"},!l.disableGutters&&{paddingLeft:i.spacing(2),paddingRight:i.spacing(2),[i.breakpoints.up("sm")]:{paddingLeft:i.spacing(3),paddingRight:i.spacing(3)}}),({theme:i,ownerState:l})=>l.fixed&&Object.keys(i.breakpoints.values).reduce((a,c)=>{const u=c,d=i.breakpoints.values[u];return d!==0&&(a[i.breakpoints.up(u)]={maxWidth:`${d}${i.breakpoints.unit}`}),a},{}),({theme:i,ownerState:l})=>x({},l.maxWidth==="xs"&&{[i.breakpoints.up("xs")]:{maxWidth:Math.max(i.breakpoints.values.xs,444)}},l.maxWidth&&l.maxWidth!=="xs"&&{[i.breakpoints.up(l.maxWidth)]:{maxWidth:`${i.breakpoints.values[l.maxWidth]}${i.breakpoints.unit}`}}));return p.forwardRef(function(l,a){const c=n(l),{className:u,component:d="div",disableGutters:f=!1,fixed:h=!1,maxWidth:g="lg"}=c,m=te(c,zN),C=x({},c,{component:d,disableGutters:f,fixed:h,maxWidth:g}),b=VN(C,r);return v.jsx(o,x({as:d,ownerState:C,className:le(b.root,u),ref:a},m))})}const GN=["component","direction","spacing","divider","children","className","useFlexGap"],UN=Yc(),KN=rR("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root});function qN(e){return oR({props:e,name:"MuiStack",defaultTheme:UN})}function XN(e,t){const n=p.Children.toArray(e).filter(Boolean);return n.reduce((r,o,s)=>(r.push(o),s({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[e],QN=({ownerState:e,theme:t})=>{let n=x({display:"flex",flexDirection:"column"},Sr({theme:t},Dl({values:e.direction,breakpoints:t.breakpoints.values}),r=>({flexDirection:r})));if(e.spacing){const r=X0(t),o=Object.keys(t.breakpoints.values).reduce((a,c)=>((typeof e.spacing=="object"&&e.spacing[c]!=null||typeof e.direction=="object"&&e.direction[c]!=null)&&(a[c]=!0),a),{}),s=Dl({values:e.direction,base:o}),i=Dl({values:e.spacing,base:o});typeof s=="object"&&Object.keys(s).forEach((a,c,u)=>{if(!s[a]){const f=c>0?s[u[c-1]]:"column";s[a]=f}}),n=tr(n,Sr({theme:t},i,(a,c)=>e.useFlexGap?{gap:Xl(r,a)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${YN(c?s[c]:e.direction)}`]:Xl(r,a)}}))}return n=Xj(t.breakpoints,n),n};function ZN(e={}){const{createStyledComponent:t=KN,useThemeProps:n=qN,componentName:r="MuiStack"}=e,o=()=>ve({root:["root"]},a=>ze(r,a),{}),s=t(QN);return p.forwardRef(function(a,c){const u=n(a),d=jf(u),{component:f="div",direction:h="column",spacing:g=0,divider:m,children:C,className:b,useFlexGap:y=!1}=d,w=te(d,GN),S={direction:h,spacing:g,useFlexGap:y},k=o();return v.jsx(s,x({as:f,ownerState:S,ref:c,className:le(k.root,b)},w,{children:m?XN(C,m):C}))})}function JN(e,t){return x({toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}}},t)}var fn={},pR={exports:{}};(function(e){function t(n){return n&&n.__esModule?n:{default:n}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(pR);var Qt=pR.exports;const eH=Vs($A),tH=Vs(cN);var gR=Qt;Object.defineProperty(fn,"__esModule",{value:!0});var bt=fn.alpha=yR;fn.blend=hH;fn.colorChannel=void 0;var rf=fn.darken=sC;fn.decomposeColor=uo;var nH=fn.emphasize=xR,rH=fn.getContrastRatio=aH;fn.getLuminance=ig;fn.hexToRgb=mR;fn.hslToRgb=vR;var of=fn.lighten=iC;fn.private_safeAlpha=cH;fn.private_safeColorChannel=void 0;fn.private_safeDarken=uH;fn.private_safeEmphasize=fH;fn.private_safeLighten=dH;fn.recomposeColor=Jc;fn.rgbToHex=lH;var B1=gR(eH),oH=gR(tH);function oC(e,t=0,n=1){return(0,oH.default)(e,t,n)}function mR(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let n=e.match(t);return n&&n[0].length===1&&(n=n.map(r=>r+r)),n?`rgb${n.length===4?"a":""}(${n.map((r,o)=>o<3?parseInt(r,16):Math.round(parseInt(r,16)/255*1e3)/1e3).join(", ")})`:""}function sH(e){const t=e.toString(16);return t.length===1?`0${t}`:t}function uo(e){if(e.type)return e;if(e.charAt(0)==="#")return uo(mR(e));const t=e.indexOf("("),n=e.substring(0,t);if(["rgb","rgba","hsl","hsla","color"].indexOf(n)===-1)throw new Error((0,B1.default)(9,e));let r=e.substring(t+1,e.length-1),o;if(n==="color"){if(r=r.split(" "),o=r.shift(),r.length===4&&r[3].charAt(0)==="/"&&(r[3]=r[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(o)===-1)throw new Error((0,B1.default)(10,o))}else r=r.split(",");return r=r.map(s=>parseFloat(s)),{type:n,values:r,colorSpace:o}}const bR=e=>{const t=uo(e);return t.values.slice(0,3).map((n,r)=>t.type.indexOf("hsl")!==-1&&r!==0?`${n}%`:n).join(" ")};fn.colorChannel=bR;const iH=(e,t)=>{try{return bR(e)}catch{return e}};fn.private_safeColorChannel=iH;function Jc(e){const{type:t,colorSpace:n}=e;let{values:r}=e;return t.indexOf("rgb")!==-1?r=r.map((o,s)=>s<3?parseInt(o,10):o):t.indexOf("hsl")!==-1&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),t.indexOf("color")!==-1?r=`${n} ${r.join(" ")}`:r=`${r.join(", ")}`,`${t}(${r})`}function lH(e){if(e.indexOf("#")===0)return e;const{values:t}=uo(e);return`#${t.map((n,r)=>sH(r===3?Math.round(255*n):n)).join("")}`}function vR(e){e=uo(e);const{values:t}=e,n=t[0],r=t[1]/100,o=t[2]/100,s=r*Math.min(o,1-o),i=(c,u=(c+n/30)%12)=>o-s*Math.max(Math.min(u-3,9-u,1),-1);let l="rgb";const a=[Math.round(i(0)*255),Math.round(i(8)*255),Math.round(i(4)*255)];return e.type==="hsla"&&(l+="a",a.push(t[3])),Jc({type:l,values:a})}function ig(e){e=uo(e);let t=e.type==="hsl"||e.type==="hsla"?uo(vR(e)).values:e.values;return t=t.map(n=>(e.type!=="color"&&(n/=255),n<=.03928?n/12.92:((n+.055)/1.055)**2.4)),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function aH(e,t){const n=ig(e),r=ig(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function yR(e,t){return e=uo(e),t=oC(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,Jc(e)}function cH(e,t,n){try{return yR(e,t)}catch{return e}}function sC(e,t){if(e=uo(e),t=oC(t),e.type.indexOf("hsl")!==-1)e.values[2]*=1-t;else if(e.type.indexOf("rgb")!==-1||e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]*=1-t;return Jc(e)}function uH(e,t,n){try{return sC(e,t)}catch{return e}}function iC(e,t){if(e=uo(e),t=oC(t),e.type.indexOf("hsl")!==-1)e.values[2]+=(100-e.values[2])*t;else if(e.type.indexOf("rgb")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(1-e.values[n])*t;return Jc(e)}function dH(e,t,n){try{return iC(e,t)}catch{return e}}function xR(e,t=.15){return ig(e)>.5?sC(e,t):iC(e,t)}function fH(e,t,n){try{return xR(e,t)}catch{return e}}function hH(e,t,n,r=1){const o=(a,c)=>Math.round((a**(1/r)*(1-n)+c**(1/r)*n)**r),s=uo(e),i=uo(t),l=[o(s.values[0],i.values[0]),o(s.values[1],i.values[1]),o(s.values[2],i.values[2])];return Jc({type:"rgb",values:l})}const sf={black:"#000",white:"#fff"},pH={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},fa={50:"#f3e5f5",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",700:"#7b1fa2"},ha={300:"#e57373",400:"#ef5350",500:"#f44336",700:"#d32f2f",800:"#c62828"},Ou={300:"#ffb74d",400:"#ffa726",500:"#ff9800",700:"#f57c00",900:"#e65100"},pa={50:"#e3f2fd",200:"#90caf9",400:"#42a5f5",700:"#1976d2",800:"#1565c0"},ga={300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",700:"#0288d1",900:"#01579b"},ma={300:"#81c784",400:"#66bb6a",500:"#4caf50",700:"#388e3c",800:"#2e7d32",900:"#1b5e20"},gH=["mode","contrastThreshold","tonalOffset"],V1={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:sf.white,default:sf.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},sv={text:{primary:sf.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:sf.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function W1(e,t,n,r){const o=r.light||r,s=r.dark||r*1.5;e[t]||(e.hasOwnProperty(n)?e[t]=e[n]:t==="light"?e.light=of(e.main,o):t==="dark"&&(e.dark=rf(e.main,s)))}function mH(e="light"){return e==="dark"?{main:pa[200],light:pa[50],dark:pa[400]}:{main:pa[700],light:pa[400],dark:pa[800]}}function bH(e="light"){return e==="dark"?{main:fa[200],light:fa[50],dark:fa[400]}:{main:fa[500],light:fa[300],dark:fa[700]}}function vH(e="light"){return e==="dark"?{main:ha[500],light:ha[300],dark:ha[700]}:{main:ha[700],light:ha[400],dark:ha[800]}}function yH(e="light"){return e==="dark"?{main:ga[400],light:ga[300],dark:ga[700]}:{main:ga[700],light:ga[500],dark:ga[900]}}function xH(e="light"){return e==="dark"?{main:ma[400],light:ma[300],dark:ma[700]}:{main:ma[800],light:ma[500],dark:ma[900]}}function CH(e="light"){return e==="dark"?{main:Ou[400],light:Ou[300],dark:Ou[700]}:{main:"#ed6c02",light:Ou[500],dark:Ou[900]}}function wH(e){const{mode:t="light",contrastThreshold:n=3,tonalOffset:r=.2}=e,o=te(e,gH),s=e.primary||mH(t),i=e.secondary||bH(t),l=e.error||vH(t),a=e.info||yH(t),c=e.success||xH(t),u=e.warning||CH(t);function d(m){return rH(m,sv.text.primary)>=n?sv.text.primary:V1.text.primary}const f=({color:m,name:C,mainShade:b=500,lightShade:y=300,darkShade:w=700})=>{if(m=x({},m),!m.main&&m[b]&&(m.main=m[b]),!m.hasOwnProperty("main"))throw new Error(js(11,C?` (${C})`:"",b));if(typeof m.main!="string")throw new Error(js(12,C?` (${C})`:"",JSON.stringify(m.main)));return W1(m,"light",y,r),W1(m,"dark",w,r),m.contrastText||(m.contrastText=d(m.main)),m},h={dark:sv,light:V1};return tr(x({common:x({},sf),mode:t,primary:f({color:s,name:"primary"}),secondary:f({color:i,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:f({color:l,name:"error"}),warning:f({color:u,name:"warning"}),info:f({color:a,name:"info"}),success:f({color:c,name:"success"}),grey:pH,contrastThreshold:n,getContrastText:d,augmentColor:f,tonalOffset:r},h[t]),o)}const SH=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];function kH(e){return Math.round(e*1e5)/1e5}const G1={textTransform:"uppercase"},U1='"Roboto", "Helvetica", "Arial", sans-serif';function PH(e,t){const n=typeof t=="function"?t(e):t,{fontFamily:r=U1,fontSize:o=14,fontWeightLight:s=300,fontWeightRegular:i=400,fontWeightMedium:l=500,fontWeightBold:a=700,htmlFontSize:c=16,allVariants:u,pxToRem:d}=n,f=te(n,SH),h=o/14,g=d||(b=>`${b/c*h}rem`),m=(b,y,w,S,k)=>x({fontFamily:r,fontWeight:b,fontSize:g(y),lineHeight:w},r===U1?{letterSpacing:`${kH(S/y)}em`}:{},k,u),C={h1:m(s,96,1.167,-1.5),h2:m(s,60,1.2,-.5),h3:m(i,48,1.167,0),h4:m(i,34,1.235,.25),h5:m(i,24,1.334,0),h6:m(l,20,1.6,.15),subtitle1:m(i,16,1.75,.15),subtitle2:m(l,14,1.57,.1),body1:m(i,16,1.5,.15),body2:m(i,14,1.43,.15),button:m(l,14,1.75,.4,G1),caption:m(i,12,1.66,.4),overline:m(i,12,2.66,1,G1),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return tr(x({htmlFontSize:c,pxToRem:g,fontFamily:r,fontSize:o,fontWeightLight:s,fontWeightRegular:i,fontWeightMedium:l,fontWeightBold:a},C),f,{clone:!1})}const MH=.2,IH=.14,EH=.12;function Wt(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${MH})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${IH})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${EH})`].join(",")}const _H=["none",Wt(0,2,1,-1,0,1,1,0,0,1,3,0),Wt(0,3,1,-2,0,2,2,0,0,1,5,0),Wt(0,3,3,-2,0,3,4,0,0,1,8,0),Wt(0,2,4,-1,0,4,5,0,0,1,10,0),Wt(0,3,5,-1,0,5,8,0,0,1,14,0),Wt(0,3,5,-1,0,6,10,0,0,1,18,0),Wt(0,4,5,-2,0,7,10,1,0,2,16,1),Wt(0,5,5,-3,0,8,10,1,0,3,14,2),Wt(0,5,6,-3,0,9,12,1,0,3,16,2),Wt(0,6,6,-3,0,10,14,1,0,4,18,3),Wt(0,6,7,-4,0,11,15,1,0,4,20,3),Wt(0,7,8,-4,0,12,17,2,0,5,22,4),Wt(0,7,8,-4,0,13,19,2,0,5,24,4),Wt(0,7,9,-4,0,14,21,2,0,5,26,4),Wt(0,8,9,-5,0,15,22,2,0,6,28,5),Wt(0,8,10,-5,0,16,24,2,0,6,30,5),Wt(0,8,11,-5,0,17,26,2,0,6,32,5),Wt(0,9,11,-5,0,18,28,2,0,7,34,6),Wt(0,9,12,-6,0,19,29,2,0,7,36,6),Wt(0,10,13,-6,0,20,31,3,0,8,38,7),Wt(0,10,13,-6,0,21,33,3,0,8,40,7),Wt(0,10,14,-6,0,22,35,3,0,8,42,7),Wt(0,11,14,-7,0,23,36,3,0,9,44,8),Wt(0,11,15,-7,0,24,38,3,0,9,46,8)],TH=["duration","easing","delay"],RH={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},OH={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function K1(e){return`${Math.round(e)}ms`}function $H(e){if(!e)return 0;const t=e/36;return Math.round((4+15*t**.25+t/5)*10)}function FH(e){const t=x({},RH,e.easing),n=x({},OH,e.duration);return x({getAutoHeightDuration:$H,create:(o=["all"],s={})=>{const{duration:i=n.standard,easing:l=t.easeInOut,delay:a=0}=s;return te(s,TH),(Array.isArray(o)?o:[o]).map(c=>`${c} ${typeof i=="string"?i:K1(i)} ${l} ${typeof a=="string"?a:K1(a)}`).join(",")}},e,{easing:t,duration:n})}const LH={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},DH=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function lC(e={},...t){const{mixins:n={},palette:r={},transitions:o={},typography:s={}}=e,i=te(e,DH);if(e.vars&&e.generateCssVars===void 0)throw new Error(js(18));const l=wH(r),a=Yc(e);let c=tr(a,{mixins:JN(a.breakpoints,n),palette:l,shadows:_H.slice(),typography:PH(l,s),transitions:FH(o),zIndex:x({},LH)});return c=tr(c,i),c=t.reduce((u,d)=>tr(u,d),c),c.unstable_sxConfig=x({},Af,i==null?void 0:i.unstable_sxConfig),c.unstable_sx=function(d){return Xc({sx:d,theme:this})},c}function AH(e){return String(e).match(/[\d.\-+]*\s*(.*)/)[1]||""}function jH(e){return parseFloat(e)}const aC=lC();function tl(){const e=Em(aC);return e[kc]||e}var Nf={},iv={exports:{}},q1;function zH(){return q1||(q1=1,function(e){function t(n,r){if(n==null)return{};var o={};for(var s in n)if({}.hasOwnProperty.call(n,s)){if(r.indexOf(s)!==-1)continue;o[s]=n[s]}return o}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}(iv)),iv.exports}const CR=Vs(Wj),NH=Vs(Gj),HH=Vs(Qj),BH=Vs(Zz),VH=Vs(jz),WH=Vs(Vz);var eu=Qt;Object.defineProperty(Nf,"__esModule",{value:!0});var GH=Nf.default=o5;Nf.shouldForwardProp=hp;Nf.systemDefaultTheme=void 0;var Ur=eu(NT()),rx=eu(zH()),lg=ZH(CR),UH=NH;eu(HH);eu(BH);var KH=eu(VH),qH=eu(WH);const XH=["ownerState"],YH=["variants"],QH=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function wR(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,n=new WeakMap;return(wR=function(r){return r?n:t})(e)}function ZH(e,t){if(e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var n=wR(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(s!=="default"&&Object.prototype.hasOwnProperty.call(e,s)){var i=o?Object.getOwnPropertyDescriptor(e,s):null;i&&(i.get||i.set)?Object.defineProperty(r,s,i):r[s]=e[s]}return r.default=e,n&&n.set(e,r),r}function JH(e){return Object.keys(e).length===0}function e5(e){return typeof e=="string"&&e.charCodeAt(0)>96}function hp(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}function X1(e,t){return t&&e&&typeof e=="object"&&e.styles&&!e.styles.startsWith("@layer")&&(e.styles=`@layer ${t}{${String(e.styles)}}`),e}const t5=Nf.systemDefaultTheme=(0,KH.default)(),n5=e=>e&&e.charAt(0).toLowerCase()+e.slice(1);function kh({defaultTheme:e,theme:t,themeId:n}){return JH(t)?e:t[n]||t}function r5(e){return e?(t,n)=>n[e]:null}function pp(e,t,n){let{ownerState:r}=t,o=(0,rx.default)(t,XH);const s=typeof e=="function"?e((0,Ur.default)({ownerState:r},o)):e;if(Array.isArray(s))return s.flatMap(i=>pp(i,(0,Ur.default)({ownerState:r},o),n));if(s&&typeof s=="object"&&Array.isArray(s.variants)){const{variants:i=[]}=s;let a=(0,rx.default)(s,YH);return i.forEach(c=>{let u=!0;if(typeof c.props=="function"?u=c.props((0,Ur.default)({ownerState:r},o,r)):Object.keys(c.props).forEach(d=>{(r==null?void 0:r[d])!==c.props[d]&&o[d]!==c.props[d]&&(u=!1)}),u){Array.isArray(a)||(a=[a]);const d=typeof c.style=="function"?c.style((0,Ur.default)({ownerState:r},o,r)):c.style;a.push(n?X1((0,lg.internal_serializeStyles)(d),n):d)}}),a}return n?X1((0,lg.internal_serializeStyles)(s),n):s}function o5(e={}){const{themeId:t,defaultTheme:n=t5,rootShouldForwardProp:r=hp,slotShouldForwardProp:o=hp}=e,s=i=>(0,qH.default)((0,Ur.default)({},i,{theme:kh((0,Ur.default)({},i,{defaultTheme:n,themeId:t}))}));return s.__mui_systemSx=!0,(i,l={})=>{(0,lg.internal_processStyles)(i,P=>P.filter(M=>!(M!=null&&M.__mui_systemSx)));const{name:a,slot:c,skipVariantsResolver:u,skipSx:d,overridesResolver:f=r5(n5(c))}=l,h=(0,rx.default)(l,QH),g=a&&a.startsWith("Mui")||c?"components":"custom",m=u!==void 0?u:c&&c!=="Root"&&c!=="root"||!1,C=d||!1;let b,y=hp;c==="Root"||c==="root"?y=r:c?y=o:e5(i)&&(y=void 0);const w=(0,lg.default)(i,(0,Ur.default)({shouldForwardProp:y,label:b},h)),S=P=>typeof P=="function"&&P.__emotion_real!==P||(0,UH.isPlainObject)(P)?M=>{const I=kh({theme:M.theme,defaultTheme:n,themeId:t});return pp(P,(0,Ur.default)({},M,{theme:I}),I.modularCssLayers?g:void 0)}:P,k=(P,...M)=>{let I=S(P);const E=M?M.map(S):[];a&&f&&E.push($=>{const L=kh((0,Ur.default)({},$,{defaultTheme:n,themeId:t}));if(!L.components||!L.components[a]||!L.components[a].styleOverrides)return null;const A=L.components[a].styleOverrides,R={};return Object.entries(A).forEach(([_,O])=>{R[_]=pp(O,(0,Ur.default)({},$,{theme:L}),L.modularCssLayers?"theme":void 0)}),f($,R)}),a&&!m&&E.push($=>{var L;const A=kh((0,Ur.default)({},$,{defaultTheme:n,themeId:t})),R=A==null||(L=A.components)==null||(L=L[a])==null?void 0:L.variants;return pp({variants:R},(0,Ur.default)({},$,{theme:A}),A.modularCssLayers?"theme":void 0)}),C||E.push(s);const T=E.length-M.length;if(Array.isArray(P)&&T>0){const $=new Array(T).fill("");I=[...P,...$],I.raw=[...P.raw,...$]}const D=w(I,...E);return i.muiName&&(D.muiName=i.muiName),D};return w.withConfig&&(k.withConfig=w.withConfig),k}}function SR(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const Pr=e=>SR(e)&&e!=="classes",re=GH({themeId:kc,defaultTheme:aC,rootShouldForwardProp:Pr}),s5=["theme"];function i5(e){let{theme:t}=e,n=te(e,s5);const r=t[kc];let o=r||t;return typeof t!="function"&&(r&&!r.vars?o=x({},r,{vars:null}):t&&!t.vars&&(o=x({},t,{vars:null}))),v.jsx(AN,x({},n,{themeId:r?kc:void 0,theme:o}))}const Y1=e=>{let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,(t/100).toFixed(2)};function We(e){return LN(e)}function kR(e){return v.jsx(ZT,x({},e,{defaultTheme:aC,themeId:kc}))}const l5=(e,t)=>x({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%"},t&&!e.vars&&{colorScheme:e.palette.mode}),a5=e=>x({color:(e.vars||e).palette.text.primary},e.typography.body1,{backgroundColor:(e.vars||e).palette.background.default,"@media print":{backgroundColor:(e.vars||e).palette.common.white}}),c5=(e,t=!1)=>{var n;const r={};t&&e.colorSchemes&&Object.entries(e.colorSchemes).forEach(([i,l])=>{var a;r[e.getColorSchemeSelector(i).replace(/\s*&/,"")]={colorScheme:(a=l.palette)==null?void 0:a.mode}});let o=x({html:l5(e,t),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:e.typography.fontWeightBold},body:x({margin:0},a5(e),{"&::backdrop":{backgroundColor:(e.vars||e).palette.background.default}})},r);const s=(n=e.components)==null||(n=n.MuiCssBaseline)==null?void 0:n.styleOverrides;return s&&(o=[o,s]),o};function u5(e){const t=We({props:e,name:"MuiCssBaseline"}),{children:n,enableColorScheme:r=!1}=t;return v.jsxs(p.Fragment,{children:[v.jsx(kR,{styles:o=>c5(o,r)}),n]})}const d5=lC({palette:{primary:{main:"#2780e3",contrastText:"#fff"},secondary:{main:"#373a3c",contrastText:"#fff"},success:{main:"#3fb618",contrastText:"#fff"},error:{main:"#ff0039",contrastText:"#fff"},warning:{main:"#ff7518",contrastText:"#fff"},info:{main:"#9954bb",contrastText:"#fff"},background:{default:"#fff",paper:"#fff"},text:{primary:"#373a3c",secondary:"#6c757d"}},typography:{fontFamily:'"Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',fontSize:14},components:{MuiButton:{styleOverrides:{root:{textTransform:"none"}}},MuiTab:{styleOverrides:{root:{textTransform:"none"}}},MuiDialog:{defaultProps:{maxWidth:"lg",fullWidth:!0}}}});class Dr extends Error{constructor(n,r,o){super(`${n} ${r}`);Fe(this,"status");Fe(this,"statusText");Fe(this,"body");this.status=n,this.statusText=r,this.body=o}get detail(){try{return JSON.parse(this.body).error??(this.body||this.message)}catch{return this.body||this.message}}}class ir{static repoQuery(t){return{architecture:t.architecture,repository:t.repository}}async request(t,n={}){const{method:r,query:o,json:s}=n;let i=t;if(o){const u=new URLSearchParams;for(const[d,f]of Object.entries(o))f!=null&&u.set(d,String(f));i+=`?${u.toString()}`}const l={method:r||(s?"POST":"GET"),headers:{Accept:"application/json","Content-Type":"application/json"}};s!==void 0&&(l.body=JSON.stringify(s));const a=await fetch(i,l);if(!a.ok){const u=await a.text();throw new Dr(a.status,a.statusText,u)}return(a.headers.get("Content-Type")??"").includes("application/json")?await a.json():await a.text()}async fetchInfo(){return this.request("/api/v1/info")}async fetchPackages(t){return this.request("/api/v1/packages",{query:ir.repoQuery(t)})}async fetchPackage(t,n){return this.request(`/api/v1/packages/${encodeURIComponent(t)}`,{query:ir.repoQuery(n)})}async fetchStatus(t){return this.request("/api/v1/status",{query:ir.repoQuery(t)})}async fetchLogs(t,n,r,o,s){const i=ir.repoQuery(n);return r&&(i.version=r),o&&(i.process_id=o),s&&(i.head=!0),this.request(`/api/v2/packages/${encodeURIComponent(t)}/logs`,{query:i})}async fetchChanges(t,n){return this.request(`/api/v1/packages/${encodeURIComponent(t)}/changes`,{query:ir.repoQuery(n)})}async fetchDependencies(t,n){return this.request(`/api/v1/packages/${encodeURIComponent(t)}/dependencies`,{query:ir.repoQuery(n)})}async fetchPatches(t){return this.request(`/api/v1/packages/${encodeURIComponent(t)}/patches`)}async deletePatch(t,n){return this.request(`/api/v1/packages/${encodeURIComponent(t)}/patches/${encodeURIComponent(n)}`,{method:"DELETE"})}async fetchEvents(t,n,r){const o=ir.repoQuery(t);return n&&(o.object_id=n),r&&(o.limit=r),this.request("/api/v1/events",{query:o})}async addPackages(t,n){return this.request("/api/v1/service/add",{method:"POST",query:ir.repoQuery(t),json:n})}async removePackages(t,n){return this.request("/api/v1/service/remove",{method:"POST",query:ir.repoQuery(t),json:{packages:n}})}async updatePackages(t,n){return this.request("/api/v1/service/update",{method:"POST",query:ir.repoQuery(t),json:n})}async rebuildPackages(t,n){return this.request("/api/v1/service/rebuild",{method:"POST",query:ir.repoQuery(t),json:{packages:n}})}async requestPackages(t,n){return this.request("/api/v1/service/request",{method:"POST",query:ir.repoQuery(t),json:n})}async searchPackages(t){return this.request("/api/v1/service/search",{query:{for:t}})}async fetchPGPKey(t,n){return this.request("/api/v1/service/pgp",{query:{key:t,server:n}})}async importPGPKey(t){return this.request("/api/v1/service/pgp",{method:"POST",json:t})}async login(t){return this.request("/api/v1/login",{method:"POST",json:t})}async logout(){return this.request("/api/v1/logout",{method:"POST"})}}const At=new ir,PR=p.createContext(null);function f5({children:e}){const[t,n]=p.useState({enabled:!1,username:null}),r=p.useCallback(async(s,i)=>{await At.login({username:s,password:i}),n(l=>({...l,username:s}))},[]),o=p.useCallback(async()=>{await At.logout(),n(s=>({...s,username:null}))},[]);return v.jsx(PR.Provider,{value:{...t,setAuthState:n,login:r,logout:o},children:e})}const MR=p.createContext(null);function lv(e){return`${e.architecture}-${e.repository}`}function h5({children:e}){const[t,n]=p.useState([]),[r,o]=p.useState(null),s=p.useCallback(a=>{o(a),window.location.hash=lv(a)},[]),[i,l]=p.useState(t);if(t!==i&&(l(t),t.length>0)){const a=window.location.hash.replace("#",""),c=t.find(u=>lv(u)===a);o(c||t[0])}return p.useEffect(()=>{const a=()=>{const c=window.location.hash.replace("#",""),u=t.find(d=>lv(d)===c);u&&o(u)};return window.addEventListener("hashchange",a),()=>window.removeEventListener("hashchange",a)},[t]),v.jsx(MR.Provider,{value:{repositories:t,current:r,setRepositories:n,setCurrent:s},children:e})}function p5(e){return ze("MuiSvgIcon",e)}Ne("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);const g5=["children","className","color","component","fontSize","htmlColor","inheritViewBox","titleAccess","viewBox"],m5=e=>{const{color:t,fontSize:n,classes:r}=e,o={root:["root",t!=="inherit"&&`color${oe(t)}`,`fontSize${oe(n)}`]};return ve(o,p5,r)},b5=re("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="inherit"&&t[`color${oe(n.color)}`],t[`fontSize${oe(n.fontSize)}`]]}})(({theme:e,ownerState:t})=>{var n,r,o,s,i,l,a,c,u,d,f,h,g;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:t.hasSvgAsChild?void 0:"currentColor",flexShrink:0,transition:(n=e.transitions)==null||(r=n.create)==null?void 0:r.call(n,"fill",{duration:(o=e.transitions)==null||(o=o.duration)==null?void 0:o.shorter}),fontSize:{inherit:"inherit",small:((s=e.typography)==null||(i=s.pxToRem)==null?void 0:i.call(s,20))||"1.25rem",medium:((l=e.typography)==null||(a=l.pxToRem)==null?void 0:a.call(l,24))||"1.5rem",large:((c=e.typography)==null||(u=c.pxToRem)==null?void 0:u.call(c,35))||"2.1875rem"}[t.fontSize],color:(d=(f=(e.vars||e).palette)==null||(f=f[t.color])==null?void 0:f.main)!=null?d:{action:(h=(e.vars||e).palette)==null||(h=h.action)==null?void 0:h.active,disabled:(g=(e.vars||e).palette)==null||(g=g.action)==null?void 0:g.disabled,inherit:void 0}[t.color]}}),ox=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiSvgIcon"}),{children:o,className:s,color:i="inherit",component:l="svg",fontSize:a="medium",htmlColor:c,inheritViewBox:u=!1,titleAccess:d,viewBox:f="0 0 24 24"}=r,h=te(r,g5),g=p.isValidElement(o)&&o.type==="svg",m=x({},r,{color:i,component:l,fontSize:a,instanceFontSize:t.fontSize,inheritViewBox:u,viewBox:f,hasSvgAsChild:g}),C={};u||(C.viewBox=f);const b=m5(m);return v.jsxs(b5,x({as:l,className:le(b.root,s),focusable:"false",color:c,"aria-hidden":d?void 0:!0,role:d?"img":void 0,ref:n},C,h,g&&o.props,{ownerState:m,children:[g?o.props.children:o,d?v.jsx("title",{children:d}):null]}))});ox.muiName="SvgIcon";function Qe(e,t){function n(r,o){return v.jsx(ox,x({"data-testid":`${t}Icon`,ref:o},r,{children:e}))}return n.muiName=ox.muiName,p.memo(p.forwardRef(n))}const v5={configure:e=>{Z0.configure(e)}},y5=Object.freeze(Object.defineProperty({__proto__:null,capitalize:oe,createChainedFunction:tx,createSvgIcon:Qe,debounce:Qc,deprecatedPropType:hN,isMuiElement:fp,ownerDocument:Ft,ownerWindow:Do,requirePropFactory:pN,setRef:Jd,unstable_ClassNameGenerator:v5,unstable_useEnhancedEffect:Et,unstable_useId:gt,unsupportedProp:mN,useControlled:Hi,useEventCallback:Ke,useForkRef:vt,useIsFocusVisible:Hm},Symbol.toStringTag,{value:"Module"}));function sx(e,t){return sx=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},sx(e,t)}function IR(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,sx(e,t)}const Q1={disabled:!1},ag=fr.createContext(null);var x5=function(t){return t.scrollTop},ed="unmounted",dl="exited",fl="entering",Ma="entered",ix="exiting",ds=function(e){IR(t,e);function t(r,o){var s;s=e.call(this,r,o)||this;var i=o,l=i&&!i.isMounting?r.enter:r.appear,a;return s.appearStatus=null,r.in?l?(a=dl,s.appearStatus=fl):a=Ma:r.unmountOnExit||r.mountOnEnter?a=ed:a=dl,s.state={status:a},s.nextCallback=null,s}t.getDerivedStateFromProps=function(o,s){var i=o.in;return i&&s.status===ed?{status:dl}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(o){var s=null;if(o!==this.props){var i=this.state.status;this.props.in?i!==fl&&i!==Ma&&(s=fl):(i===fl||i===Ma)&&(s=ix)}this.updateStatus(!1,s)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var o=this.props.timeout,s,i,l;return s=i=l=o,o!=null&&typeof o!="number"&&(s=o.exit,i=o.enter,l=o.appear!==void 0?o.appear:i),{exit:s,enter:i,appear:l}},n.updateStatus=function(o,s){if(o===void 0&&(o=!1),s!==null)if(this.cancelNextCallback(),s===fl){if(this.props.unmountOnExit||this.props.mountOnEnter){var i=this.props.nodeRef?this.props.nodeRef.current:xh.findDOMNode(this);i&&x5(i)}this.performEnter(o)}else this.performExit();else this.props.unmountOnExit&&this.state.status===dl&&this.setState({status:ed})},n.performEnter=function(o){var s=this,i=this.props.enter,l=this.context?this.context.isMounting:o,a=this.props.nodeRef?[l]:[xh.findDOMNode(this),l],c=a[0],u=a[1],d=this.getTimeouts(),f=l?d.appear:d.enter;if(!o&&!i||Q1.disabled){this.safeSetState({status:Ma},function(){s.props.onEntered(c)});return}this.props.onEnter(c,u),this.safeSetState({status:fl},function(){s.props.onEntering(c,u),s.onTransitionEnd(f,function(){s.safeSetState({status:Ma},function(){s.props.onEntered(c,u)})})})},n.performExit=function(){var o=this,s=this.props.exit,i=this.getTimeouts(),l=this.props.nodeRef?void 0:xh.findDOMNode(this);if(!s||Q1.disabled){this.safeSetState({status:dl},function(){o.props.onExited(l)});return}this.props.onExit(l),this.safeSetState({status:ix},function(){o.props.onExiting(l),o.onTransitionEnd(i.exit,function(){o.safeSetState({status:dl},function(){o.props.onExited(l)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(o,s){s=this.setNextCallback(s),this.setState(o,s)},n.setNextCallback=function(o){var s=this,i=!0;return this.nextCallback=function(l){i&&(i=!1,s.nextCallback=null,o(l))},this.nextCallback.cancel=function(){i=!1},this.nextCallback},n.onTransitionEnd=function(o,s){this.setNextCallback(s);var i=this.props.nodeRef?this.props.nodeRef.current:xh.findDOMNode(this),l=o==null&&!this.props.addEndListener;if(!i||l){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var a=this.props.nodeRef?[this.nextCallback]:[i,this.nextCallback],c=a[0],u=a[1];this.props.addEndListener(c,u)}o!=null&&setTimeout(this.nextCallback,o)},n.render=function(){var o=this.state.status;if(o===ed)return null;var s=this.props,i=s.children;s.in,s.mountOnEnter,s.unmountOnExit,s.appear,s.enter,s.exit,s.timeout,s.addEndListener,s.onEnter,s.onEntering,s.onEntered,s.onExit,s.onExiting,s.onExited,s.nodeRef;var l=te(s,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return fr.createElement(ag.Provider,{value:null},typeof i=="function"?i(o,l):fr.cloneElement(fr.Children.only(i),l))},t}(fr.Component);ds.contextType=ag;ds.propTypes={};function ba(){}ds.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:ba,onEntering:ba,onEntered:ba,onExit:ba,onExiting:ba,onExited:ba};ds.UNMOUNTED=ed;ds.EXITED=dl;ds.ENTERING=fl;ds.ENTERED=Ma;ds.EXITING=ix;function C5(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function cC(e,t){var n=function(s){return t&&p.isValidElement(s)?t(s):s},r=Object.create(null);return e&&p.Children.map(e,function(o){return o}).forEach(function(o){r[o.key]=n(o)}),r}function w5(e,t){e=e||{},t=t||{};function n(u){return u in t?t[u]:e[u]}var r=Object.create(null),o=[];for(var s in e)s in t?o.length&&(r[s]=o,o=[]):o.push(s);var i,l={};for(var a in t){if(r[a])for(i=0;ie.scrollTop;function cg(e,t){var n,r;const{timeout:o,easing:s,style:i={}}=e;return{duration:(n=i.transitionDuration)!=null?n:typeof o=="number"?o:o[t.mode]||0,easing:(r=i.transitionTimingFunction)!=null?r:typeof s=="object"?s[t.mode]:s,delay:i.transitionDelay}}function I5(e){return ze("MuiPaper",e)}Ne("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);const E5=["className","component","elevation","square","variant"],_5=e=>{const{square:t,elevation:n,variant:r,classes:o}=e,s={root:["root",r,!t&&"rounded",r==="elevation"&&`elevation${n}`]};return ve(s,I5,o)},T5=re("div",{name:"MuiPaper",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],!n.square&&t.rounded,n.variant==="elevation"&&t[`elevation${n.elevation}`]]}})(({theme:e,ownerState:t})=>{var n;return x({backgroundColor:(e.vars||e).palette.background.paper,color:(e.vars||e).palette.text.primary,transition:e.transitions.create("box-shadow")},!t.square&&{borderRadius:e.shape.borderRadius},t.variant==="outlined"&&{border:`1px solid ${(e.vars||e).palette.divider}`},t.variant==="elevation"&&x({boxShadow:(e.vars||e).shadows[t.elevation]},!e.vars&&e.palette.mode==="dark"&&{backgroundImage:`linear-gradient(${bt("#fff",Y1(t.elevation))}, ${bt("#fff",Y1(t.elevation))})`},e.vars&&{backgroundImage:(n=e.vars.overlays)==null?void 0:n[t.elevation]}))}),Gs=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiPaper"}),{className:o,component:s="div",elevation:i=1,square:l=!1,variant:a="elevation"}=r,c=te(r,E5),u=x({},r,{component:s,elevation:i,square:l,variant:a}),d=_5(u);return v.jsx(T5,x({as:s,ownerState:u,className:le(d.root,o),ref:n},c))}),R5=["className","elementType","ownerState","externalForwardedProps","getSlotOwnerState","internalForwardedProps"],O5=["component","slots","slotProps"],$5=["component"];function Z1(e,t){const{className:n,elementType:r,ownerState:o,externalForwardedProps:s,getSlotOwnerState:i,internalForwardedProps:l}=t,a=te(t,R5),{component:c,slots:u={[e]:void 0},slotProps:d={[e]:void 0}}=s,f=te(s,O5),h=u[e]||r,g=cR(d[e],o),m=aR(x({className:n},a,{externalForwardedProps:e==="root"?f:void 0,externalSlotProps:g})),{props:{component:C},internalRef:b}=m,y=te(m.props,$5),w=vt(b,g==null?void 0:g.ref,t.ref),S=i?i(y):{},k=x({},o,S),P=e==="root"?C||c:C,M=Ha(h,x({},e==="root"&&!c&&!u[e]&&l,e!=="root"&&!u[e]&&l,y,P&&{as:P},{ref:w}),k);return Object.keys(S).forEach(I=>{delete M[I]}),[h,M]}function F5(e){const{className:t,classes:n,pulsate:r=!1,rippleX:o,rippleY:s,rippleSize:i,in:l,onExited:a,timeout:c}=e,[u,d]=p.useState(!1),f=le(t,n.ripple,n.rippleVisible,r&&n.ripplePulsate),h={width:i,height:i,top:-(i/2)+s,left:-(i/2)+o},g=le(n.child,u&&n.childLeaving,r&&n.childPulsate);return!l&&!u&&d(!0),p.useEffect(()=>{if(!l&&a!=null){const m=setTimeout(a,c);return()=>{clearTimeout(m)}}},[a,l,c]),v.jsx("span",{className:f,style:h,children:v.jsx("span",{className:g})})}const qr=Ne("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),L5=["center","classes","className"];let Bm=e=>e,J1,ek,tk,nk;const lx=550,D5=80,A5=jo(J1||(J1=Bm`
+ 0% {
+ transform: scale(0);
+ opacity: 0.1;
+ }
+
+ 100% {
+ transform: scale(1);
+ opacity: 0.3;
+ }
+`)),j5=jo(ek||(ek=Bm`
+ 0% {
+ opacity: 1;
+ }
+
+ 100% {
+ opacity: 0;
+ }
+`)),z5=jo(tk||(tk=Bm`
+ 0% {
+ transform: scale(1);
+ }
+
+ 50% {
+ transform: scale(0.92);
+ }
+
+ 100% {
+ transform: scale(1);
+ }
+`)),N5=re("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),H5=re(F5,{name:"MuiTouchRipple",slot:"Ripple"})(nk||(nk=Bm`
+ opacity: 0;
+ position: absolute;
+
+ &.${0} {
+ opacity: 0.3;
+ transform: scale(1);
+ animation-name: ${0};
+ animation-duration: ${0}ms;
+ animation-timing-function: ${0};
+ }
+
+ &.${0} {
+ animation-duration: ${0}ms;
+ }
+
+ & .${0} {
+ opacity: 1;
+ display: block;
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+ background-color: currentColor;
+ }
+
+ & .${0} {
+ opacity: 0;
+ animation-name: ${0};
+ animation-duration: ${0}ms;
+ animation-timing-function: ${0};
+ }
+
+ & .${0} {
+ position: absolute;
+ /* @noflip */
+ left: 0px;
+ top: 0;
+ animation-name: ${0};
+ animation-duration: 2500ms;
+ animation-timing-function: ${0};
+ animation-iteration-count: infinite;
+ animation-delay: 200ms;
+ }
+`),qr.rippleVisible,A5,lx,({theme:e})=>e.transitions.easing.easeInOut,qr.ripplePulsate,({theme:e})=>e.transitions.duration.shorter,qr.child,qr.childLeaving,j5,lx,({theme:e})=>e.transitions.easing.easeInOut,qr.childPulsate,z5,({theme:e})=>e.transitions.easing.easeInOut),B5=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiTouchRipple"}),{center:o=!1,classes:s={},className:i}=r,l=te(r,L5),[a,c]=p.useState([]),u=p.useRef(0),d=p.useRef(null);p.useEffect(()=>{d.current&&(d.current(),d.current=null)},[a]);const f=p.useRef(!1),h=pr(),g=p.useRef(null),m=p.useRef(null),C=p.useCallback(S=>{const{pulsate:k,rippleX:P,rippleY:M,rippleSize:I,cb:E}=S;c(T=>[...T,v.jsx(H5,{classes:{ripple:le(s.ripple,qr.ripple),rippleVisible:le(s.rippleVisible,qr.rippleVisible),ripplePulsate:le(s.ripplePulsate,qr.ripplePulsate),child:le(s.child,qr.child),childLeaving:le(s.childLeaving,qr.childLeaving),childPulsate:le(s.childPulsate,qr.childPulsate)},timeout:lx,pulsate:k,rippleX:P,rippleY:M,rippleSize:I},u.current)]),u.current+=1,d.current=E},[s]),b=p.useCallback((S={},k={},P=()=>{})=>{const{pulsate:M=!1,center:I=o||k.pulsate,fakeElement:E=!1}=k;if((S==null?void 0:S.type)==="mousedown"&&f.current){f.current=!1;return}(S==null?void 0:S.type)==="touchstart"&&(f.current=!0);const T=E?null:m.current,D=T?T.getBoundingClientRect():{width:0,height:0,left:0,top:0};let $,L,A;if(I||S===void 0||S.clientX===0&&S.clientY===0||!S.clientX&&!S.touches)$=Math.round(D.width/2),L=Math.round(D.height/2);else{const{clientX:R,clientY:_}=S.touches&&S.touches.length>0?S.touches[0]:S;$=Math.round(R-D.left),L=Math.round(_-D.top)}if(I)A=Math.sqrt((2*D.width**2+D.height**2)/3),A%2===0&&(A+=1);else{const R=Math.max(Math.abs((T?T.clientWidth:0)-$),$)*2+2,_=Math.max(Math.abs((T?T.clientHeight:0)-L),L)*2+2;A=Math.sqrt(R**2+_**2)}S!=null&&S.touches?g.current===null&&(g.current=()=>{C({pulsate:M,rippleX:$,rippleY:L,rippleSize:A,cb:P})},h.start(D5,()=>{g.current&&(g.current(),g.current=null)})):C({pulsate:M,rippleX:$,rippleY:L,rippleSize:A,cb:P})},[o,C,h]),y=p.useCallback(()=>{b({},{pulsate:!0})},[b]),w=p.useCallback((S,k)=>{if(h.clear(),(S==null?void 0:S.type)==="touchend"&&g.current){g.current(),g.current=null,h.start(0,()=>{w(S,k)});return}g.current=null,c(P=>P.length>0?P.slice(1):P),d.current=k},[h]);return p.useImperativeHandle(n,()=>({pulsate:y,start:b,stop:w}),[y,b,w]),v.jsx(N5,x({className:le(qr.root,s.root,i),ref:m},l,{children:v.jsx(uC,{component:null,exit:!0,children:a})}))});function V5(e){return ze("MuiButtonBase",e)}const W5=Ne("MuiButtonBase",["root","disabled","focusVisible"]),G5=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],U5=e=>{const{disabled:t,focusVisible:n,focusVisibleClassName:r,classes:o}=e,i=ve({root:["root",t&&"disabled",n&&"focusVisible"]},V5,o);return n&&r&&(i.root+=` ${r}`),i},K5=re("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${W5.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),Xi=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiButtonBase"}),{action:o,centerRipple:s=!1,children:i,className:l,component:a="button",disabled:c=!1,disableRipple:u=!1,disableTouchRipple:d=!1,focusRipple:f=!1,LinkComponent:h="a",onBlur:g,onClick:m,onContextMenu:C,onDragLeave:b,onFocus:y,onFocusVisible:w,onKeyDown:S,onKeyUp:k,onMouseDown:P,onMouseLeave:M,onMouseUp:I,onTouchEnd:E,onTouchMove:T,onTouchStart:D,tabIndex:$=0,TouchRippleProps:L,touchRippleRef:A,type:R}=r,_=te(r,G5),O=p.useRef(null),F=p.useRef(null),j=vt(F,A),{isFocusVisibleRef:z,onFocus:H,onBlur:B,ref:G}=Hm(),[V,Z]=p.useState(!1);c&&V&&Z(!1),p.useImperativeHandle(o,()=>({focusVisible:()=>{Z(!0),O.current.focus()}}),[]);const[Q,U]=p.useState(!1);p.useEffect(()=>{U(!0)},[]);const K=Q&&!u&&!c;p.useEffect(()=>{V&&f&&!u&&Q&&F.current.pulsate()},[u,f,V,Q]);function ee(Y,xe,Re=d){return Ke(Ze=>(xe&&xe(Ze),!Re&&F.current&&F.current[Y](Ze),!0))}const de=ee("start",P),se=ee("stop",C),ge=ee("stop",b),q=ee("stop",I),me=ee("stop",Y=>{V&&Y.preventDefault(),M&&M(Y)}),ae=ee("start",D),ce=ee("stop",E),ye=ee("stop",T),ne=ee("stop",Y=>{B(Y),z.current===!1&&Z(!1),g&&g(Y)},!1),Oe=Ke(Y=>{O.current||(O.current=Y.currentTarget),H(Y),z.current===!0&&(Z(!0),w&&w(Y)),y&&y(Y)}),_e=()=>{const Y=O.current;return a&&a!=="button"&&!(Y.tagName==="A"&&Y.href)},Pe=p.useRef(!1),He=Ke(Y=>{f&&!Pe.current&&V&&F.current&&Y.key===" "&&(Pe.current=!0,F.current.stop(Y,()=>{F.current.start(Y)})),Y.target===Y.currentTarget&&_e()&&Y.key===" "&&Y.preventDefault(),S&&S(Y),Y.target===Y.currentTarget&&_e()&&Y.key==="Enter"&&!c&&(Y.preventDefault(),m&&m(Y))}),De=Ke(Y=>{f&&Y.key===" "&&F.current&&V&&!Y.defaultPrevented&&(Pe.current=!1,F.current.stop(Y,()=>{F.current.pulsate(Y)})),k&&k(Y),m&&Y.target===Y.currentTarget&&_e()&&Y.key===" "&&!Y.defaultPrevented&&m(Y)});let we=a;we==="button"&&(_.href||_.to)&&(we=h);const Ae={};we==="button"?(Ae.type=R===void 0?"button":R,Ae.disabled=c):(!_.href&&!_.to&&(Ae.role="button"),c&&(Ae["aria-disabled"]=c));const ie=vt(n,G,O),be=x({},r,{centerRipple:s,component:a,disabled:c,disableRipple:u,disableTouchRipple:d,focusRipple:f,tabIndex:$,focusVisible:V}),ue=U5(be);return v.jsxs(K5,x({as:we,className:le(ue.root,l),ownerState:be,onBlur:ne,onClick:m,onContextMenu:se,onFocus:Oe,onKeyDown:He,onKeyUp:De,onMouseDown:de,onMouseLeave:me,onMouseUp:q,onDragLeave:ge,onTouchEnd:ce,onTouchMove:ye,onTouchStart:ae,ref:ie,tabIndex:c?-1:$,type:R},Ae,_,{children:[i,K?v.jsx(B5,x({ref:j,center:s},L)):null]}))});function q5(e){return ze("MuiAlert",e)}const rk=Ne("MuiAlert",["root","action","icon","message","filled","colorSuccess","colorInfo","colorWarning","colorError","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]);function X5(e){return ze("MuiIconButton",e)}const Y5=Ne("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),Q5=["edge","children","className","color","disabled","disableFocusRipple","size"],Z5=e=>{const{classes:t,disabled:n,color:r,edge:o,size:s}=e,i={root:["root",n&&"disabled",r!=="default"&&`color${oe(r)}`,o&&`edge${oe(o)}`,`size${oe(s)}`]};return ve(i,X5,t)},J5=re(Xi,{name:"MuiIconButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="default"&&t[`color${oe(n.color)}`],n.edge&&t[`edge${oe(n.edge)}`],t[`size${oe(n.size)}`]]}})(({theme:e,ownerState:t})=>x({textAlign:"center",flex:"0 0 auto",fontSize:e.typography.pxToRem(24),padding:8,borderRadius:"50%",overflow:"visible",color:(e.vars||e).palette.action.active,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest})},!t.disableRipple&&{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:bt(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},t.edge==="start"&&{marginLeft:t.size==="small"?-3:-12},t.edge==="end"&&{marginRight:t.size==="small"?-3:-12}),({theme:e,ownerState:t})=>{var n;const r=(n=(e.vars||e).palette)==null?void 0:n[t.color];return x({},t.color==="inherit"&&{color:"inherit"},t.color!=="inherit"&&t.color!=="default"&&x({color:r==null?void 0:r.main},!t.disableRipple&&{"&:hover":x({},r&&{backgroundColor:e.vars?`rgba(${r.mainChannel} / ${e.vars.palette.action.hoverOpacity})`:bt(r.main,e.palette.action.hoverOpacity)},{"@media (hover: none)":{backgroundColor:"transparent"}})}),t.size==="small"&&{padding:5,fontSize:e.typography.pxToRem(18)},t.size==="large"&&{padding:12,fontSize:e.typography.pxToRem(28)},{[`&.${Y5.disabled}`]:{backgroundColor:"transparent",color:(e.vars||e).palette.action.disabled}})}),gr=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiIconButton"}),{edge:o=!1,children:s,className:i,color:l="default",disabled:a=!1,disableFocusRipple:c=!1,size:u="medium"}=r,d=te(r,Q5),f=x({},r,{edge:o,color:l,disabled:a,disableFocusRipple:c,size:u}),h=Z5(f);return v.jsx(J5,x({className:le(h.root,i),centerRipple:!0,focusRipple:!c,disabled:a,ref:n},d,{ownerState:f,children:s}))}),eB=Qe(v.jsx("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),tB=Qe(v.jsx("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),nB=Qe(v.jsx("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),rB=Qe(v.jsx("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),_R=Qe(v.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),oB=["action","children","className","closeText","color","components","componentsProps","icon","iconMapping","onClose","role","severity","slotProps","slots","variant"],sB=e=>{const{variant:t,color:n,severity:r,classes:o}=e,s={root:["root",`color${oe(n||r)}`,`${t}${oe(n||r)}`,`${t}`],icon:["icon"],message:["message"],action:["action"]};return ve(s,q5,o)},iB=re(Gs,{name:"MuiAlert",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${oe(n.color||n.severity)}`]]}})(({theme:e})=>{const t=e.palette.mode==="light"?rf:of,n=e.palette.mode==="light"?of:rf;return x({},e.typography.body2,{backgroundColor:"transparent",display:"flex",padding:"6px 16px",variants:[...Object.entries(e.palette).filter(([,r])=>r.main&&r.light).map(([r])=>({props:{colorSeverity:r,variant:"standard"},style:{color:e.vars?e.vars.palette.Alert[`${r}Color`]:t(e.palette[r].light,.6),backgroundColor:e.vars?e.vars.palette.Alert[`${r}StandardBg`]:n(e.palette[r].light,.9),[`& .${rk.icon}`]:e.vars?{color:e.vars.palette.Alert[`${r}IconColor`]}:{color:e.palette[r].main}}})),...Object.entries(e.palette).filter(([,r])=>r.main&&r.light).map(([r])=>({props:{colorSeverity:r,variant:"outlined"},style:{color:e.vars?e.vars.palette.Alert[`${r}Color`]:t(e.palette[r].light,.6),border:`1px solid ${(e.vars||e).palette[r].light}`,[`& .${rk.icon}`]:e.vars?{color:e.vars.palette.Alert[`${r}IconColor`]}:{color:e.palette[r].main}}})),...Object.entries(e.palette).filter(([,r])=>r.main&&r.dark).map(([r])=>({props:{colorSeverity:r,variant:"filled"},style:x({fontWeight:e.typography.fontWeightMedium},e.vars?{color:e.vars.palette.Alert[`${r}FilledColor`],backgroundColor:e.vars.palette.Alert[`${r}FilledBg`]}:{backgroundColor:e.palette.mode==="dark"?e.palette[r].dark:e.palette[r].main,color:e.palette.getContrastText(e.palette[r].main)})}))]})}),lB=re("div",{name:"MuiAlert",slot:"Icon",overridesResolver:(e,t)=>t.icon})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),aB=re("div",{name:"MuiAlert",slot:"Message",overridesResolver:(e,t)=>t.message})({padding:"8px 0",minWidth:0,overflow:"auto"}),ok=re("div",{name:"MuiAlert",slot:"Action",overridesResolver:(e,t)=>t.action})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),sk={success:v.jsx(eB,{fontSize:"inherit"}),warning:v.jsx(tB,{fontSize:"inherit"}),error:v.jsx(nB,{fontSize:"inherit"}),info:v.jsx(rB,{fontSize:"inherit"})},cB=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiAlert"}),{action:o,children:s,className:i,closeText:l="Close",color:a,components:c={},componentsProps:u={},icon:d,iconMapping:f=sk,onClose:h,role:g="alert",severity:m="success",slotProps:C={},slots:b={},variant:y="standard"}=r,w=te(r,oB),S=x({},r,{color:a,severity:m,variant:y,colorSeverity:a||m}),k=sB(S),P={slots:x({closeButton:c.CloseButton,closeIcon:c.CloseIcon},b),slotProps:x({},u,C)},[M,I]=Z1("closeButton",{elementType:gr,externalForwardedProps:P,ownerState:S}),[E,T]=Z1("closeIcon",{elementType:_R,externalForwardedProps:P,ownerState:S});return v.jsxs(iB,x({role:g,elevation:0,ownerState:S,className:le(k.root,i),ref:n},w,{children:[d!==!1?v.jsx(lB,{ownerState:S,className:k.icon,children:d||f[m]||sk[m]}):null,v.jsx(aB,{ownerState:S,className:k.message,children:s}),o!=null?v.jsx(ok,{ownerState:S,className:k.action,children:o}):null,o==null&&h?v.jsx(ok,{ownerState:S,className:k.action,children:v.jsx(M,x({size:"small","aria-label":l,title:l,color:"inherit",onClick:h},I,{children:v.jsx(E,x({fontSize:"small"},T))}))}):null]}))});function uB(e){return ze("MuiTypography",e)}Ne("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]);const dB=["align","className","component","gutterBottom","noWrap","paragraph","variant","variantMapping"],fB=e=>{const{align:t,gutterBottom:n,noWrap:r,paragraph:o,variant:s,classes:i}=e,l={root:["root",s,e.align!=="inherit"&&`align${oe(t)}`,n&&"gutterBottom",r&&"noWrap",o&&"paragraph"]};return ve(l,uB,i)},hB=re("span",{name:"MuiTypography",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.variant&&t[n.variant],n.align!=="inherit"&&t[`align${oe(n.align)}`],n.noWrap&&t.noWrap,n.gutterBottom&&t.gutterBottom,n.paragraph&&t.paragraph]}})(({theme:e,ownerState:t})=>x({margin:0},t.variant==="inherit"&&{font:"inherit"},t.variant!=="inherit"&&e.typography[t.variant],t.align!=="inherit"&&{textAlign:t.align},t.noWrap&&{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},t.gutterBottom&&{marginBottom:"0.35em"},t.paragraph&&{marginBottom:16})),ik={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},pB={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},gB=e=>pB[e]||e,ot=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiTypography"}),o=gB(r.color),s=jf(x({},r,{color:o})),{align:i="inherit",className:l,component:a,gutterBottom:c=!1,noWrap:u=!1,paragraph:d=!1,variant:f="body1",variantMapping:h=ik}=s,g=te(s,dB),m=x({},s,{align:i,color:o,className:l,component:a,gutterBottom:c,noWrap:u,paragraph:d,variant:f,variantMapping:h}),C=a||(d?"p":h[f]||ik[f])||"span",b=fB(m);return v.jsx(hB,x({as:C,ref:n,ownerState:m,className:le(b.root,l)},g))});function lk(e){return typeof e.normalize<"u"?e.normalize("NFD").replace(/[\u0300-\u036f]/g,""):e}function TR(e={}){const{ignoreAccents:t=!0,ignoreCase:n=!0,limit:r,matchFrom:o="any",stringify:s,trim:i=!1}=e;return(l,{inputValue:a,getOptionLabel:c})=>{let u=i?a.trim():a;n&&(u=u.toLowerCase()),t&&(u=lk(u));const d=u?l.filter(f=>{let h=(s||c)(f);return n&&(h=h.toLowerCase()),t&&(h=lk(h)),o==="start"?h.indexOf(u)===0:h.indexOf(u)>-1}):l;return typeof r=="number"?d.slice(0,r):d}}function Ph(e,t){for(let n=0;n{var t;return e.current!==null&&((t=e.current.parentElement)==null?void 0:t.contains(document.activeElement))},vB=[];function yB(e){const{unstable_isActiveElementInListbox:t=bB,unstable_classNamePrefix:n="Mui",autoComplete:r=!1,autoHighlight:o=!1,autoSelect:s=!1,blurOnSelect:i=!1,clearOnBlur:l=!e.freeSolo,clearOnEscape:a=!1,componentName:c="useAutocomplete",defaultValue:u=e.multiple?vB:null,disableClearable:d=!1,disableCloseOnSelect:f=!1,disabled:h,disabledItemsFocusable:g=!1,disableListWrap:m=!1,filterOptions:C=mB,filterSelectedOptions:b=!1,freeSolo:y=!1,getOptionDisabled:w,getOptionKey:S,getOptionLabel:k=fe=>{var J;return(J=fe.label)!=null?J:fe},groupBy:P,handleHomeEndKeys:M=!e.freeSolo,id:I,includeInputInList:E=!1,inputValue:T,isOptionEqualToValue:D=(fe,J)=>fe===J,multiple:$=!1,onChange:L,onClose:A,onHighlightChange:R,onInputChange:_,onOpen:O,open:F,openOnFocus:j=!1,options:z,readOnly:H=!1,selectOnFocus:B=!e.freeSolo,value:G}=e,V=gt(I);let Z=k;Z=fe=>{const J=k(fe);return typeof J!="string"?String(J):J};const Q=p.useRef(!1),U=p.useRef(!0),K=p.useRef(null),ee=p.useRef(null),[de,se]=p.useState(null),[ge,q]=p.useState(-1),me=o?0:-1,ae=p.useRef(me),[ce,ye]=Hi({controlled:G,default:u,name:c}),[ne,Oe]=Hi({controlled:T,default:"",name:c,state:"inputValue"}),[_e,Pe]=p.useState(!1),He=p.useCallback((fe,J)=>{if(!($?ce.length!(b&&($?ce:[ce]).some(J=>J!==null&&D(fe,J)))),{inputValue:be&&Ae?"":ne,getOptionLabel:Z}):[],xe=rC({filteredOptions:Y,value:ce,inputValue:ne});p.useEffect(()=>{const fe=ce!==xe.value;_e&&!fe||y&&!fe||He(null,ce)},[ce,He,_e,xe.value,y]);const Re=De&&Y.length>0&&!H,Ze=Ke(fe=>{fe===-1?K.current.focus():de.querySelector(`[data-tag-index="${fe}"]`).focus()});p.useEffect(()=>{$&&ge>ce.length-1&&(q(-1),Ze(-1))},[ce,$,ge,Ze]);function Me(fe,J){if(!ee.current||fe<0||fe>=Y.length)return-1;let Ie=fe;for(;;){const Ve=ee.current.querySelector(`[data-option-index="${Ie}"]`),tt=g?!1:!Ve||Ve.disabled||Ve.getAttribute("aria-disabled")==="true";if(Ve&&Ve.hasAttribute("tabindex")&&!tt)return Ie;if(J==="next"?Ie=(Ie+1)%Y.length:Ie=(Ie-1+Y.length)%Y.length,Ie===fe)return-1}}const Se=Ke(({event:fe,index:J,reason:Ie="auto"})=>{if(ae.current=J,J===-1?K.current.removeAttribute("aria-activedescendant"):K.current.setAttribute("aria-activedescendant",`${V}-option-${J}`),R&&R(fe,J===-1?null:Y[J],Ie),!ee.current)return;const Ve=ee.current.querySelector(`[role="option"].${n}-focused`);Ve&&(Ve.classList.remove(`${n}-focused`),Ve.classList.remove(`${n}-focusVisible`));let tt=ee.current;if(ee.current.getAttribute("role")!=="listbox"&&(tt=ee.current.parentElement.querySelector('[role="listbox"]')),!tt)return;if(J===-1){tt.scrollTop=0;return}const je=ee.current.querySelector(`[data-option-index="${J}"]`);if(je&&(je.classList.add(`${n}-focused`),Ie==="keyboard"&&je.classList.add(`${n}-focusVisible`),tt.scrollHeight>tt.clientHeight&&Ie!=="mouse"&&Ie!=="touch")){const ct=je,Bo=tt.clientHeight+tt.scrollTop,Qw=ct.offsetTop+ct.offsetHeight;Qw>Bo?tt.scrollTop=Qw-tt.clientHeight:ct.offsetTop-ct.offsetHeight*(P?1.3:0){if(!ue)return;const je=Me((()=>{const ct=Y.length-1;if(J==="reset")return me;if(J==="start")return 0;if(J==="end")return ct;const Bo=ae.current+J;return Bo<0?Bo===-1&&E?-1:m&&ae.current!==-1||Math.abs(J)>1?0:ct:Bo>ct?Bo===ct+1&&E?-1:m||Math.abs(J)>1?ct:0:Bo})(),Ie);if(Se({index:je,reason:Ve,event:fe}),r&&J!=="reset")if(je===-1)K.current.value=ne;else{const ct=Z(Y[je]);K.current.value=ct,ct.toLowerCase().indexOf(ne.toLowerCase())===0&&ne.length>0&&K.current.setSelectionRange(ne.length,ct.length)}}),ke=()=>{const fe=(J,Ie)=>{const Ve=J?Z(J):"",tt=Ie?Z(Ie):"";return Ve===tt};if(ae.current!==-1&&xe.filteredOptions&&xe.filteredOptions.length!==Y.length&&xe.inputValue===ne&&($?ce.length===xe.value.length&&xe.value.every((J,Ie)=>Z(ce[Ie])===Z(J)):fe(xe.value,ce))){const J=xe.filteredOptions[ae.current];if(J)return Ph(Y,Ie=>Z(Ie)===Z(J))}return-1},Ge=p.useCallback(()=>{if(!ue)return;const fe=ke();if(fe!==-1){ae.current=fe;return}const J=$?ce[0]:ce;if(Y.length===0||J==null){pe({diff:"reset"});return}if(ee.current){if(J!=null){const Ie=Y[ae.current];if($&&Ie&&Ph(ce,tt=>D(Ie,tt))!==-1)return;const Ve=Ph(Y,tt=>D(tt,J));Ve===-1?pe({diff:"reset"}):Se({index:Ve});return}if(ae.current>=Y.length-1){Se({index:Y.length-1});return}Se({index:ae.current})}},[Y.length,$?!1:ce,b,pe,Se,ue,ne,$]),Ye=Ke(fe=>{Jd(ee,fe),fe&&Ge()});p.useEffect(()=>{Ge()},[Ge]);const rt=fe=>{De||(we(!0),ie(!0),O&&O(fe))},yt=(fe,J)=>{De&&(we(!1),A&&A(fe,J))},Ot=(fe,J,Ie,Ve)=>{if($){if(ce.length===J.length&&ce.every((tt,je)=>tt===J[je]))return}else if(ce===J)return;L&&L(fe,J,Ie,Ve),ye(J)},vn=p.useRef(!1),Ut=(fe,J,Ie="selectOption",Ve="options")=>{let tt=Ie,je=J;if($){je=Array.isArray(ce)?ce.slice():[];const ct=Ph(je,Bo=>D(J,Bo));ct===-1?je.push(J):Ve!=="freeSolo"&&(je.splice(ct,1),tt="removeOption")}He(fe,je),Ot(fe,je,tt,{option:J}),!f&&(!fe||!fe.ctrlKey&&!fe.metaKey)&&yt(fe,tt),(i===!0||i==="touch"&&vn.current||i==="mouse"&&!vn.current)&&K.current.blur()};function Hn(fe,J){if(fe===-1)return-1;let Ie=fe;for(;;){if(J==="next"&&Ie===ce.length||J==="previous"&&Ie===-1)return-1;const Ve=de.querySelector(`[data-tag-index="${Ie}"]`);if(!Ve||!Ve.hasAttribute("tabindex")||Ve.disabled||Ve.getAttribute("aria-disabled")==="true")Ie+=J==="next"?1:-1;else return Ie}}const No=(fe,J)=>{if(!$)return;ne===""&&yt(fe,"toggleInput");let Ie=ge;ge===-1?ne===""&&J==="previous"&&(Ie=ce.length-1):(Ie+=J==="next"?1:-1,Ie<0&&(Ie=0),Ie===ce.length&&(Ie=-1)),Ie=Hn(Ie,J),q(Ie),Ze(Ie)},ps=fe=>{Q.current=!0,Oe(""),_&&_(fe,"","clear"),Ot(fe,$?[]:null,"clear")},Xs=fe=>J=>{if(fe.onKeyDown&&fe.onKeyDown(J),!J.defaultMuiPrevented&&(ge!==-1&&["ArrowLeft","ArrowRight"].indexOf(J.key)===-1&&(q(-1),Ze(-1)),J.which!==229))switch(J.key){case"Home":ue&&M&&(J.preventDefault(),pe({diff:"start",direction:"next",reason:"keyboard",event:J}));break;case"End":ue&&M&&(J.preventDefault(),pe({diff:"end",direction:"previous",reason:"keyboard",event:J}));break;case"PageUp":J.preventDefault(),pe({diff:-ak,direction:"previous",reason:"keyboard",event:J}),rt(J);break;case"PageDown":J.preventDefault(),pe({diff:ak,direction:"next",reason:"keyboard",event:J}),rt(J);break;case"ArrowDown":J.preventDefault(),pe({diff:1,direction:"next",reason:"keyboard",event:J}),rt(J);break;case"ArrowUp":J.preventDefault(),pe({diff:-1,direction:"previous",reason:"keyboard",event:J}),rt(J);break;case"ArrowLeft":No(J,"previous");break;case"ArrowRight":No(J,"next");break;case"Enter":if(ae.current!==-1&&ue){const Ie=Y[ae.current],Ve=w?w(Ie):!1;if(J.preventDefault(),Ve)return;Ut(J,Ie,"selectOption"),r&&K.current.setSelectionRange(K.current.value.length,K.current.value.length)}else y&&ne!==""&&be===!1&&($&&J.preventDefault(),Ut(J,ne,"createOption","freeSolo"));break;case"Escape":ue?(J.preventDefault(),J.stopPropagation(),yt(J,"escape")):a&&(ne!==""||$&&ce.length>0)&&(J.preventDefault(),J.stopPropagation(),ps(J));break;case"Backspace":if($&&!H&&ne===""&&ce.length>0){const Ie=ge===-1?ce.length-1:ge,Ve=ce.slice();Ve.splice(Ie,1),Ot(J,Ve,"removeOption",{option:ce[Ie]})}break;case"Delete":if($&&!H&&ne===""&&ce.length>0&&ge!==-1){const Ie=ge,Ve=ce.slice();Ve.splice(Ie,1),Ot(J,Ve,"removeOption",{option:ce[Ie]})}break}},Ys=fe=>{Pe(!0),j&&!Q.current&&rt(fe)},Mr=fe=>{if(t(ee)){K.current.focus();return}Pe(!1),U.current=!0,Q.current=!1,s&&ae.current!==-1&&ue?Ut(fe,Y[ae.current],"blur"):s&&y&&ne!==""?Ut(fe,ne,"blur","freeSolo"):l&&He(fe,ce),yt(fe,"blur")},In=fe=>{const J=fe.target.value;ne!==J&&(Oe(J),ie(!1),_&&_(fe,J,"input")),J===""?!d&&!$&&Ot(fe,null,"clear"):rt(fe)},Vt=fe=>{const J=Number(fe.currentTarget.getAttribute("data-option-index"));ae.current!==J&&Se({event:fe,index:J,reason:"mouse"})},Yn=fe=>{Se({event:fe,index:Number(fe.currentTarget.getAttribute("data-option-index")),reason:"touch"}),vn.current=!0},or=fe=>{const J=Number(fe.currentTarget.getAttribute("data-option-index"));Ut(fe,Y[J],"selectOption"),vn.current=!1},gs=fe=>J=>{const Ie=ce.slice();Ie.splice(fe,1),Ot(J,Ie,"removeOption",{option:ce[fe]})},wu=fe=>{De?yt(fe,"toggleInput"):rt(fe)},ms=fe=>{fe.currentTarget.contains(fe.target)&&fe.target.getAttribute("id")!==V&&fe.preventDefault()},Qs=fe=>{fe.currentTarget.contains(fe.target)&&(K.current.focus(),B&&U.current&&K.current.selectionEnd-K.current.selectionStart===0&&K.current.select(),U.current=!1)},Zs=fe=>{!h&&(ne===""||!De)&&wu(fe)};let Ho=y&&ne.length>0;Ho=Ho||($?ce.length>0:ce!==null);let bs=Y;return P&&(bs=Y.reduce((fe,J,Ie)=>{const Ve=P(J);return fe.length>0&&fe[fe.length-1].group===Ve?fe[fe.length-1].options.push(J):fe.push({key:Ie,index:Ie,group:Ve,options:[J]}),fe},[])),h&&_e&&Mr(),{getRootProps:(fe={})=>x({"aria-owns":Re?`${V}-listbox`:null},fe,{onKeyDown:Xs(fe),onMouseDown:ms,onClick:Qs}),getInputLabelProps:()=>({id:`${V}-label`,htmlFor:V}),getInputProps:()=>({id:V,value:ne,onBlur:Mr,onFocus:Ys,onChange:In,onMouseDown:Zs,"aria-activedescendant":ue?"":null,"aria-autocomplete":r?"both":"list","aria-controls":Re?`${V}-listbox`:void 0,"aria-expanded":Re,autoComplete:"off",ref:K,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:h}),getClearProps:()=>({tabIndex:-1,type:"button",onClick:ps}),getPopupIndicatorProps:()=>({tabIndex:-1,type:"button",onClick:wu}),getTagProps:({index:fe})=>x({key:fe,"data-tag-index":fe,tabIndex:-1},!H&&{onDelete:gs(fe)}),getListboxProps:()=>({role:"listbox",id:`${V}-listbox`,"aria-labelledby":`${V}-label`,ref:Ye,onMouseDown:fe=>{fe.preventDefault()}}),getOptionProps:({index:fe,option:J})=>{var Ie;const Ve=($?ce:[ce]).some(je=>je!=null&&D(J,je)),tt=w?w(J):!1;return{key:(Ie=S==null?void 0:S(J))!=null?Ie:Z(J),tabIndex:-1,role:"option",id:`${V}-option-${fe}`,onMouseMove:Vt,onClick:or,onTouchStart:Yn,"data-option-index":fe,"aria-disabled":tt,"aria-selected":Ve}},id:V,inputValue:ne,value:ce,dirty:Ho,expanded:ue&&de,popupOpen:ue,focused:_e||ge!==-1,anchorEl:de,setAnchorEl:se,focusedTag:ge,groupedOptions:bs}}var dC={};Object.defineProperty(dC,"__esModule",{value:!0});var RR=dC.default=void 0,xB=wB(p),CB=CR;function OR(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,n=new WeakMap;return(OR=function(r){return r?n:t})(e)}function wB(e,t){if(e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var n=OR(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(s!=="default"&&Object.prototype.hasOwnProperty.call(e,s)){var i=o?Object.getOwnPropertyDescriptor(e,s):null;i&&(i.get||i.set)?Object.defineProperty(r,s,i):r[s]=e[s]}return r.default=e,n&&n.set(e,r),r}function SB(e){return Object.keys(e).length===0}function kB(e=null){const t=xB.useContext(CB.ThemeContext);return!t||SB(t)?e:t}RR=dC.default=kB;var xr="top",fo="bottom",ho="right",Cr="left",fC="auto",Hf=[xr,fo,ho,Cr],_c="start",lf="end",PB="clippingParents",$R="viewport",$u="popper",MB="reference",ck=Hf.reduce(function(e,t){return e.concat([t+"-"+_c,t+"-"+lf])},[]),FR=[].concat(Hf,[fC]).reduce(function(e,t){return e.concat([t,t+"-"+_c,t+"-"+lf])},[]),IB="beforeRead",EB="read",_B="afterRead",TB="beforeMain",RB="main",OB="afterMain",$B="beforeWrite",FB="write",LB="afterWrite",DB=[IB,EB,_B,TB,RB,OB,$B,FB,LB];function cs(e){return e?(e.nodeName||"").toLowerCase():null}function zr(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Yl(e){var t=zr(e).Element;return e instanceof t||e instanceof Element}function so(e){var t=zr(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function hC(e){if(typeof ShadowRoot>"u")return!1;var t=zr(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function AB(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},o=t.attributes[n]||{},s=t.elements[n];!so(s)||!cs(s)||(Object.assign(s.style,r),Object.keys(o).forEach(function(i){var l=o[i];l===!1?s.removeAttribute(i):s.setAttribute(i,l===!0?"":l)}))})}function jB(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var o=t.elements[r],s=t.attributes[r]||{},i=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),l=i.reduce(function(a,c){return a[c]="",a},{});!so(o)||!cs(o)||(Object.assign(o.style,l),Object.keys(s).forEach(function(a){o.removeAttribute(a)}))})}}const zB={name:"applyStyles",enabled:!0,phase:"write",fn:AB,effect:jB,requires:["computeStyles"]};function ss(e){return e.split("-")[0]}var Al=Math.max,ug=Math.min,Tc=Math.round;function ax(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function LR(){return!/^((?!chrome|android).)*safari/i.test(ax())}function Rc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,s=1;t&&so(e)&&(o=e.offsetWidth>0&&Tc(r.width)/e.offsetWidth||1,s=e.offsetHeight>0&&Tc(r.height)/e.offsetHeight||1);var i=Yl(e)?zr(e):window,l=i.visualViewport,a=!LR()&&n,c=(r.left+(a&&l?l.offsetLeft:0))/o,u=(r.top+(a&&l?l.offsetTop:0))/s,d=r.width/o,f=r.height/s;return{width:d,height:f,top:u,right:c+d,bottom:u+f,left:c,x:c,y:u}}function pC(e){var t=Rc(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function DR(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&hC(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Ns(e){return zr(e).getComputedStyle(e)}function NB(e){return["table","td","th"].indexOf(cs(e))>=0}function nl(e){return((Yl(e)?e.ownerDocument:e.document)||window.document).documentElement}function Vm(e){return cs(e)==="html"?e:e.assignedSlot||e.parentNode||(hC(e)?e.host:null)||nl(e)}function uk(e){return!so(e)||Ns(e).position==="fixed"?null:e.offsetParent}function HB(e){var t=/firefox/i.test(ax()),n=/Trident/i.test(ax());if(n&&so(e)){var r=Ns(e);if(r.position==="fixed")return null}var o=Vm(e);for(hC(o)&&(o=o.host);so(o)&&["html","body"].indexOf(cs(o))<0;){var s=Ns(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||t&&s.willChange==="filter"||t&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}function Bf(e){for(var t=zr(e),n=uk(e);n&&NB(n)&&Ns(n).position==="static";)n=uk(n);return n&&(cs(n)==="html"||cs(n)==="body"&&Ns(n).position==="static")?t:n||HB(e)||t}function gC(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Cd(e,t,n){return Al(e,ug(t,n))}function BB(e,t,n){var r=Cd(e,t,n);return r>n?n:r}function AR(){return{top:0,right:0,bottom:0,left:0}}function jR(e){return Object.assign({},AR(),e)}function zR(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var VB=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,jR(typeof t!="number"?t:zR(t,Hf))};function WB(e){var t,n=e.state,r=e.name,o=e.options,s=n.elements.arrow,i=n.modifiersData.popperOffsets,l=ss(n.placement),a=gC(l),c=[Cr,ho].indexOf(l)>=0,u=c?"height":"width";if(!(!s||!i)){var d=VB(o.padding,n),f=pC(s),h=a==="y"?xr:Cr,g=a==="y"?fo:ho,m=n.rects.reference[u]+n.rects.reference[a]-i[a]-n.rects.popper[u],C=i[a]-n.rects.reference[a],b=Bf(s),y=b?a==="y"?b.clientHeight||0:b.clientWidth||0:0,w=m/2-C/2,S=d[h],k=y-f[u]-d[g],P=y/2-f[u]/2+w,M=Cd(S,P,k),I=a;n.modifiersData[r]=(t={},t[I]=M,t.centerOffset=M-P,t)}}function GB(e){var t=e.state,n=e.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||DR(t.elements.popper,o)&&(t.elements.arrow=o))}const UB={name:"arrow",enabled:!0,phase:"main",fn:WB,effect:GB,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Oc(e){return e.split("-")[1]}var KB={top:"auto",right:"auto",bottom:"auto",left:"auto"};function qB(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:Tc(n*o)/o||0,y:Tc(r*o)/o||0}}function dk(e){var t,n=e.popper,r=e.popperRect,o=e.placement,s=e.variation,i=e.offsets,l=e.position,a=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,d=e.isFixed,f=i.x,h=f===void 0?0:f,g=i.y,m=g===void 0?0:g,C=typeof u=="function"?u({x:h,y:m}):{x:h,y:m};h=C.x,m=C.y;var b=i.hasOwnProperty("x"),y=i.hasOwnProperty("y"),w=Cr,S=xr,k=window;if(c){var P=Bf(n),M="clientHeight",I="clientWidth";if(P===zr(n)&&(P=nl(n),Ns(P).position!=="static"&&l==="absolute"&&(M="scrollHeight",I="scrollWidth")),P=P,o===xr||(o===Cr||o===ho)&&s===lf){S=fo;var E=d&&P===k&&k.visualViewport?k.visualViewport.height:P[M];m-=E-r.height,m*=a?1:-1}if(o===Cr||(o===xr||o===fo)&&s===lf){w=ho;var T=d&&P===k&&k.visualViewport?k.visualViewport.width:P[I];h-=T-r.width,h*=a?1:-1}}var D=Object.assign({position:l},c&&KB),$=u===!0?qB({x:h,y:m},zr(n)):{x:h,y:m};if(h=$.x,m=$.y,a){var L;return Object.assign({},D,(L={},L[S]=y?"0":"",L[w]=b?"0":"",L.transform=(k.devicePixelRatio||1)<=1?"translate("+h+"px, "+m+"px)":"translate3d("+h+"px, "+m+"px, 0)",L))}return Object.assign({},D,(t={},t[S]=y?m+"px":"",t[w]=b?h+"px":"",t.transform="",t))}function XB(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,s=n.adaptive,i=s===void 0?!0:s,l=n.roundOffsets,a=l===void 0?!0:l,c={placement:ss(t.placement),variation:Oc(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,dk(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:i,roundOffsets:a})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,dk(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:a})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const YB={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:XB,data:{}};var Mh={passive:!0};function QB(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,s=o===void 0?!0:o,i=r.resize,l=i===void 0?!0:i,a=zr(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&c.forEach(function(u){u.addEventListener("scroll",n.update,Mh)}),l&&a.addEventListener("resize",n.update,Mh),function(){s&&c.forEach(function(u){u.removeEventListener("scroll",n.update,Mh)}),l&&a.removeEventListener("resize",n.update,Mh)}}const ZB={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:QB,data:{}};var JB={left:"right",right:"left",bottom:"top",top:"bottom"};function gp(e){return e.replace(/left|right|bottom|top/g,function(t){return JB[t]})}var e4={start:"end",end:"start"};function fk(e){return e.replace(/start|end/g,function(t){return e4[t]})}function mC(e){var t=zr(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function bC(e){return Rc(nl(e)).left+mC(e).scrollLeft}function t4(e,t){var n=zr(e),r=nl(e),o=n.visualViewport,s=r.clientWidth,i=r.clientHeight,l=0,a=0;if(o){s=o.width,i=o.height;var c=LR();(c||!c&&t==="fixed")&&(l=o.offsetLeft,a=o.offsetTop)}return{width:s,height:i,x:l+bC(e),y:a}}function n4(e){var t,n=nl(e),r=mC(e),o=(t=e.ownerDocument)==null?void 0:t.body,s=Al(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),i=Al(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),l=-r.scrollLeft+bC(e),a=-r.scrollTop;return Ns(o||n).direction==="rtl"&&(l+=Al(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:i,x:l,y:a}}function vC(e){var t=Ns(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function NR(e){return["html","body","#document"].indexOf(cs(e))>=0?e.ownerDocument.body:so(e)&&vC(e)?e:NR(Vm(e))}function wd(e,t){var n;t===void 0&&(t=[]);var r=NR(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=zr(r),i=o?[s].concat(s.visualViewport||[],vC(r)?r:[]):r,l=t.concat(i);return o?l:l.concat(wd(Vm(i)))}function cx(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function r4(e,t){var n=Rc(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function hk(e,t,n){return t===$R?cx(t4(e,n)):Yl(t)?r4(t,n):cx(n4(nl(e)))}function o4(e){var t=wd(Vm(e)),n=["absolute","fixed"].indexOf(Ns(e).position)>=0,r=n&&so(e)?Bf(e):e;return Yl(r)?t.filter(function(o){return Yl(o)&&DR(o,r)&&cs(o)!=="body"}):[]}function s4(e,t,n,r){var o=t==="clippingParents"?o4(e):[].concat(t),s=[].concat(o,[n]),i=s[0],l=s.reduce(function(a,c){var u=hk(e,c,r);return a.top=Al(u.top,a.top),a.right=ug(u.right,a.right),a.bottom=ug(u.bottom,a.bottom),a.left=Al(u.left,a.left),a},hk(e,i,r));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function HR(e){var t=e.reference,n=e.element,r=e.placement,o=r?ss(r):null,s=r?Oc(r):null,i=t.x+t.width/2-n.width/2,l=t.y+t.height/2-n.height/2,a;switch(o){case xr:a={x:i,y:t.y-n.height};break;case fo:a={x:i,y:t.y+t.height};break;case ho:a={x:t.x+t.width,y:l};break;case Cr:a={x:t.x-n.width,y:l};break;default:a={x:t.x,y:t.y}}var c=o?gC(o):null;if(c!=null){var u=c==="y"?"height":"width";switch(s){case _c:a[c]=a[c]-(t[u]/2-n[u]/2);break;case lf:a[c]=a[c]+(t[u]/2-n[u]/2);break}}return a}function af(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,s=n.strategy,i=s===void 0?e.strategy:s,l=n.boundary,a=l===void 0?PB:l,c=n.rootBoundary,u=c===void 0?$R:c,d=n.elementContext,f=d===void 0?$u:d,h=n.altBoundary,g=h===void 0?!1:h,m=n.padding,C=m===void 0?0:m,b=jR(typeof C!="number"?C:zR(C,Hf)),y=f===$u?MB:$u,w=e.rects.popper,S=e.elements[g?y:f],k=s4(Yl(S)?S:S.contextElement||nl(e.elements.popper),a,u,i),P=Rc(e.elements.reference),M=HR({reference:P,element:w,placement:o}),I=cx(Object.assign({},w,M)),E=f===$u?I:P,T={top:k.top-E.top+b.top,bottom:E.bottom-k.bottom+b.bottom,left:k.left-E.left+b.left,right:E.right-k.right+b.right},D=e.modifiersData.offset;if(f===$u&&D){var $=D[o];Object.keys(T).forEach(function(L){var A=[ho,fo].indexOf(L)>=0?1:-1,R=[xr,fo].indexOf(L)>=0?"y":"x";T[L]+=$[R]*A})}return T}function i4(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,s=n.rootBoundary,i=n.padding,l=n.flipVariations,a=n.allowedAutoPlacements,c=a===void 0?FR:a,u=Oc(r),d=u?l?ck:ck.filter(function(g){return Oc(g)===u}):Hf,f=d.filter(function(g){return c.indexOf(g)>=0});f.length===0&&(f=d);var h=f.reduce(function(g,m){return g[m]=af(e,{placement:m,boundary:o,rootBoundary:s,padding:i})[ss(m)],g},{});return Object.keys(h).sort(function(g,m){return h[g]-h[m]})}function l4(e){if(ss(e)===fC)return[];var t=gp(e);return[fk(e),t,fk(t)]}function a4(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,s=o===void 0?!0:o,i=n.altAxis,l=i===void 0?!0:i,a=n.fallbackPlacements,c=n.padding,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,h=n.flipVariations,g=h===void 0?!0:h,m=n.allowedAutoPlacements,C=t.options.placement,b=ss(C),y=b===C,w=a||(y||!g?[gp(C)]:l4(C)),S=[C].concat(w).reduce(function(V,Z){return V.concat(ss(Z)===fC?i4(t,{placement:Z,boundary:u,rootBoundary:d,padding:c,flipVariations:g,allowedAutoPlacements:m}):Z)},[]),k=t.rects.reference,P=t.rects.popper,M=new Map,I=!0,E=S[0],T=0;T=0,R=A?"width":"height",_=af(t,{placement:D,boundary:u,rootBoundary:d,altBoundary:f,padding:c}),O=A?L?ho:Cr:L?fo:xr;k[R]>P[R]&&(O=gp(O));var F=gp(O),j=[];if(s&&j.push(_[$]<=0),l&&j.push(_[O]<=0,_[F]<=0),j.every(function(V){return V})){E=D,I=!1;break}M.set(D,j)}if(I)for(var z=g?3:1,H=function(Z){var Q=S.find(function(U){var K=M.get(U);if(K)return K.slice(0,Z).every(function(ee){return ee})});if(Q)return E=Q,"break"},B=z;B>0;B--){var G=H(B);if(G==="break")break}t.placement!==E&&(t.modifiersData[r]._skip=!0,t.placement=E,t.reset=!0)}}const c4={name:"flip",enabled:!0,phase:"main",fn:a4,requiresIfExists:["offset"],data:{_skip:!1}};function pk(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function gk(e){return[xr,ho,fo,Cr].some(function(t){return e[t]>=0})}function u4(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,s=t.modifiersData.preventOverflow,i=af(t,{elementContext:"reference"}),l=af(t,{altBoundary:!0}),a=pk(i,r),c=pk(l,o,s),u=gk(a),d=gk(c);t.modifiersData[n]={referenceClippingOffsets:a,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}const d4={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:u4};function f4(e,t,n){var r=ss(e),o=[Cr,xr].indexOf(r)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,i=s[0],l=s[1];return i=i||0,l=(l||0)*o,[Cr,ho].indexOf(r)>=0?{x:l,y:i}:{x:i,y:l}}function h4(e){var t=e.state,n=e.options,r=e.name,o=n.offset,s=o===void 0?[0,0]:o,i=FR.reduce(function(u,d){return u[d]=f4(d,t.rects,s),u},{}),l=i[t.placement],a=l.x,c=l.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=a,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=i}const p4={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:h4};function g4(e){var t=e.state,n=e.name;t.modifiersData[n]=HR({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}const m4={name:"popperOffsets",enabled:!0,phase:"read",fn:g4,data:{}};function b4(e){return e==="x"?"y":"x"}function v4(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=o===void 0?!0:o,i=n.altAxis,l=i===void 0?!1:i,a=n.boundary,c=n.rootBoundary,u=n.altBoundary,d=n.padding,f=n.tether,h=f===void 0?!0:f,g=n.tetherOffset,m=g===void 0?0:g,C=af(t,{boundary:a,rootBoundary:c,padding:d,altBoundary:u}),b=ss(t.placement),y=Oc(t.placement),w=!y,S=gC(b),k=b4(S),P=t.modifiersData.popperOffsets,M=t.rects.reference,I=t.rects.popper,E=typeof m=="function"?m(Object.assign({},t.rects,{placement:t.placement})):m,T=typeof E=="number"?{mainAxis:E,altAxis:E}:Object.assign({mainAxis:0,altAxis:0},E),D=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,$={x:0,y:0};if(P){if(s){var L,A=S==="y"?xr:Cr,R=S==="y"?fo:ho,_=S==="y"?"height":"width",O=P[S],F=O+C[A],j=O-C[R],z=h?-I[_]/2:0,H=y===_c?M[_]:I[_],B=y===_c?-I[_]:-M[_],G=t.elements.arrow,V=h&&G?pC(G):{width:0,height:0},Z=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:AR(),Q=Z[A],U=Z[R],K=Cd(0,M[_],V[_]),ee=w?M[_]/2-z-K-Q-T.mainAxis:H-K-Q-T.mainAxis,de=w?-M[_]/2+z+K+U+T.mainAxis:B+K+U+T.mainAxis,se=t.elements.arrow&&Bf(t.elements.arrow),ge=se?S==="y"?se.clientTop||0:se.clientLeft||0:0,q=(L=D==null?void 0:D[S])!=null?L:0,me=O+ee-q-ge,ae=O+de-q,ce=Cd(h?ug(F,me):F,O,h?Al(j,ae):j);P[S]=ce,$[S]=ce-O}if(l){var ye,ne=S==="x"?xr:Cr,Oe=S==="x"?fo:ho,_e=P[k],Pe=k==="y"?"height":"width",He=_e+C[ne],De=_e-C[Oe],we=[xr,Cr].indexOf(b)!==-1,Ae=(ye=D==null?void 0:D[k])!=null?ye:0,ie=we?He:_e-M[Pe]-I[Pe]-Ae+T.altAxis,be=we?_e+M[Pe]+I[Pe]-Ae-T.altAxis:De,ue=h&&we?BB(ie,_e,be):Cd(h?ie:He,_e,h?be:De);P[k]=ue,$[k]=ue-_e}t.modifiersData[r]=$}}const y4={name:"preventOverflow",enabled:!0,phase:"main",fn:v4,requiresIfExists:["offset"]};function x4(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function C4(e){return e===zr(e)||!so(e)?mC(e):x4(e)}function w4(e){var t=e.getBoundingClientRect(),n=Tc(t.width)/e.offsetWidth||1,r=Tc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function S4(e,t,n){n===void 0&&(n=!1);var r=so(t),o=so(t)&&w4(t),s=nl(t),i=Rc(e,o,n),l={scrollLeft:0,scrollTop:0},a={x:0,y:0};return(r||!r&&!n)&&((cs(t)!=="body"||vC(s))&&(l=C4(t)),so(t)?(a=Rc(t,!0),a.x+=t.clientLeft,a.y+=t.clientTop):s&&(a.x=bC(s))),{x:i.left+l.scrollLeft-a.x,y:i.top+l.scrollTop-a.y,width:i.width,height:i.height}}function k4(e){var t=new Map,n=new Set,r=[];e.forEach(function(s){t.set(s.name,s)});function o(s){n.add(s.name);var i=[].concat(s.requires||[],s.requiresIfExists||[]);i.forEach(function(l){if(!n.has(l)){var a=t.get(l);a&&o(a)}}),r.push(s)}return e.forEach(function(s){n.has(s.name)||o(s)}),r}function P4(e){var t=k4(e);return DB.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function M4(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function I4(e){var t=e.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var mk={placement:"bottom",modifiers:[],strategy:"absolute"};function bk(){for(var e=arguments.length,t=new Array(e),n=0;n{s||l(R4(o)||document.body)},[o,s]),Et(()=>{if(i&&!s)return Jd(n,i),()=>{Jd(n,null)}},[n,i,s]),s){if(p.isValidElement(r)){const c={ref:a};return p.cloneElement(r,c)}return v.jsx(p.Fragment,{children:r})}return v.jsx(p.Fragment,{children:i&&cm.createPortal(r,i)})});function O4(e){return ze("MuiPopper",e)}Ne("MuiPopper",["root"]);const $4=["anchorEl","children","direction","disablePortal","modifiers","open","placement","popperOptions","popperRef","slotProps","slots","TransitionProps","ownerState"],F4=["anchorEl","children","container","direction","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","style","transition","slotProps","slots"];function L4(e,t){if(t==="ltr")return e;switch(e){case"bottom-end":return"bottom-start";case"bottom-start":return"bottom-end";case"top-end":return"top-start";case"top-start":return"top-end";default:return e}}function ux(e){return typeof e=="function"?e():e}function D4(e){return e.nodeType!==void 0}const A4=e=>{const{classes:t}=e;return ve({root:["root"]},O4,t)},j4={},z4=p.forwardRef(function(t,n){var r;const{anchorEl:o,children:s,direction:i,disablePortal:l,modifiers:a,open:c,placement:u,popperOptions:d,popperRef:f,slotProps:h={},slots:g={},TransitionProps:m}=t,C=te(t,$4),b=p.useRef(null),y=vt(b,n),w=p.useRef(null),S=vt(w,f),k=p.useRef(S);Et(()=>{k.current=S},[S]),p.useImperativeHandle(f,()=>w.current,[]);const P=L4(u,i),[M,I]=p.useState(P),[E,T]=p.useState(ux(o));p.useEffect(()=>{w.current&&w.current.forceUpdate()}),p.useEffect(()=>{o&&T(ux(o))},[o]),Et(()=>{if(!E||!c)return;const R=F=>{I(F.placement)};let _=[{name:"preventOverflow",options:{altBoundary:l}},{name:"flip",options:{altBoundary:l}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:({state:F})=>{R(F)}}];a!=null&&(_=_.concat(a)),d&&d.modifiers!=null&&(_=_.concat(d.modifiers));const O=T4(E,b.current,x({placement:P},d,{modifiers:_}));return k.current(O),()=>{O.destroy(),k.current(null)}},[E,l,a,c,d,P]);const D={placement:M};m!==null&&(D.TransitionProps=m);const $=A4(t),L=(r=g.root)!=null?r:"div",A=kr({elementType:L,externalSlotProps:h.root,externalForwardedProps:C,additionalProps:{role:"tooltip",ref:y},ownerState:t,className:$.root});return v.jsx(L,x({},A,{children:typeof s=="function"?s(D):s}))}),N4=p.forwardRef(function(t,n){const{anchorEl:r,children:o,container:s,direction:i="ltr",disablePortal:l=!1,keepMounted:a=!1,modifiers:c,open:u,placement:d="bottom",popperOptions:f=j4,popperRef:h,style:g,transition:m=!1,slotProps:C={},slots:b={}}=t,y=te(t,F4),[w,S]=p.useState(!0),k=()=>{S(!1)},P=()=>{S(!0)};if(!a&&!u&&(!m||w))return null;let M;if(s)M=s;else if(r){const T=ux(r);M=T&&D4(T)?Ft(T).body:Ft(null).body}const I=!u&&a&&(!m||w)?"none":void 0,E=m?{in:u,onEnter:k,onExited:P}:void 0;return v.jsx(BR,{disablePortal:l,container:M,children:v.jsx(z4,x({anchorEl:r,direction:i,disablePortal:l,modifiers:c,ref:n,open:m?!w:u,placement:d,popperOptions:f,popperRef:h,slotProps:C,slots:b},y,{style:x({position:"fixed",top:0,left:0,display:I},g),TransitionProps:E,children:o}))})}),H4=["anchorEl","component","components","componentsProps","container","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","transition","slots","slotProps"],B4=re(N4,{name:"MuiPopper",slot:"Root",overridesResolver:(e,t)=>t.root})({}),oa=p.forwardRef(function(t,n){var r;const o=RR(),s=We({props:t,name:"MuiPopper"}),{anchorEl:i,component:l,components:a,componentsProps:c,container:u,disablePortal:d,keepMounted:f,modifiers:h,open:g,placement:m,popperOptions:C,popperRef:b,transition:y,slots:w,slotProps:S}=s,k=te(s,H4),P=(r=w==null?void 0:w.root)!=null?r:a==null?void 0:a.Root,M=x({anchorEl:i,container:u,disablePortal:d,keepMounted:f,modifiers:h,open:g,placement:m,popperOptions:C,popperRef:b,transition:y},k);return v.jsx(B4,x({as:l,direction:o==null?void 0:o.direction,slots:{root:P},slotProps:S??c},M,{ref:n}))});function V4(e){return ze("MuiListSubheader",e)}Ne("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]);const W4=["className","color","component","disableGutters","disableSticky","inset"],G4=e=>{const{classes:t,color:n,disableGutters:r,inset:o,disableSticky:s}=e,i={root:["root",n!=="default"&&`color${oe(n)}`,!r&&"gutters",o&&"inset",!s&&"sticky"]};return ve(i,V4,t)},U4=re("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="default"&&t[`color${oe(n.color)}`],!n.disableGutters&&t.gutters,n.inset&&t.inset,!n.disableSticky&&t.sticky]}})(({theme:e,ownerState:t})=>x({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(e.vars||e).palette.text.secondary,fontFamily:e.typography.fontFamily,fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.pxToRem(14)},t.color==="primary"&&{color:(e.vars||e).palette.primary.main},t.color==="inherit"&&{color:"inherit"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.inset&&{paddingLeft:72},!t.disableSticky&&{position:"sticky",top:0,zIndex:1,backgroundColor:(e.vars||e).palette.background.paper})),VR=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiListSubheader"}),{className:o,color:s="default",component:i="li",disableGutters:l=!1,disableSticky:a=!1,inset:c=!1}=r,u=te(r,W4),d=x({},r,{color:s,component:i,disableGutters:l,disableSticky:a,inset:c}),f=G4(d);return v.jsx(U4,x({as:i,className:le(f.root,o),ref:n,ownerState:d},u))});VR.muiSkipListHighlight=!0;const K4=Qe(v.jsx("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");function q4(e){return ze("MuiChip",e)}const mt=Ne("MuiChip",["root","sizeSmall","sizeMedium","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","disabled","clickable","clickableColorPrimary","clickableColorSecondary","deletable","deletableColorPrimary","deletableColorSecondary","outlined","filled","outlinedPrimary","outlinedSecondary","filledPrimary","filledSecondary","avatar","avatarSmall","avatarMedium","avatarColorPrimary","avatarColorSecondary","icon","iconSmall","iconMedium","iconColorPrimary","iconColorSecondary","label","labelSmall","labelMedium","deleteIcon","deleteIconSmall","deleteIconMedium","deleteIconColorPrimary","deleteIconColorSecondary","deleteIconOutlinedColorPrimary","deleteIconOutlinedColorSecondary","deleteIconFilledColorPrimary","deleteIconFilledColorSecondary","focusVisible"]),X4=["avatar","className","clickable","color","component","deleteIcon","disabled","icon","label","onClick","onDelete","onKeyDown","onKeyUp","size","variant","tabIndex","skipFocusWhenDisabled"],Y4=e=>{const{classes:t,disabled:n,size:r,color:o,iconColor:s,onDelete:i,clickable:l,variant:a}=e,c={root:["root",a,n&&"disabled",`size${oe(r)}`,`color${oe(o)}`,l&&"clickable",l&&`clickableColor${oe(o)}`,i&&"deletable",i&&`deletableColor${oe(o)}`,`${a}${oe(o)}`],label:["label",`label${oe(r)}`],avatar:["avatar",`avatar${oe(r)}`,`avatarColor${oe(o)}`],icon:["icon",`icon${oe(r)}`,`iconColor${oe(s)}`],deleteIcon:["deleteIcon",`deleteIcon${oe(r)}`,`deleteIconColor${oe(o)}`,`deleteIcon${oe(a)}Color${oe(o)}`]};return ve(c,q4,t)},Q4=re("div",{name:"MuiChip",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e,{color:r,iconColor:o,clickable:s,onDelete:i,size:l,variant:a}=n;return[{[`& .${mt.avatar}`]:t.avatar},{[`& .${mt.avatar}`]:t[`avatar${oe(l)}`]},{[`& .${mt.avatar}`]:t[`avatarColor${oe(r)}`]},{[`& .${mt.icon}`]:t.icon},{[`& .${mt.icon}`]:t[`icon${oe(l)}`]},{[`& .${mt.icon}`]:t[`iconColor${oe(o)}`]},{[`& .${mt.deleteIcon}`]:t.deleteIcon},{[`& .${mt.deleteIcon}`]:t[`deleteIcon${oe(l)}`]},{[`& .${mt.deleteIcon}`]:t[`deleteIconColor${oe(r)}`]},{[`& .${mt.deleteIcon}`]:t[`deleteIcon${oe(a)}Color${oe(r)}`]},t.root,t[`size${oe(l)}`],t[`color${oe(r)}`],s&&t.clickable,s&&r!=="default"&&t[`clickableColor${oe(r)})`],i&&t.deletable,i&&r!=="default"&&t[`deletableColor${oe(r)}`],t[a],t[`${a}${oe(r)}`]]}})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light"?e.palette.grey[700]:e.palette.grey[300];return x({maxWidth:"100%",fontFamily:e.typography.fontFamily,fontSize:e.typography.pxToRem(13),display:"inline-flex",alignItems:"center",justifyContent:"center",height:32,color:(e.vars||e).palette.text.primary,backgroundColor:(e.vars||e).palette.action.selected,borderRadius:32/2,whiteSpace:"nowrap",transition:e.transitions.create(["background-color","box-shadow"]),cursor:"unset",outline:0,textDecoration:"none",border:0,padding:0,verticalAlign:"middle",boxSizing:"border-box",[`&.${mt.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity,pointerEvents:"none"},[`& .${mt.avatar}`]:{marginLeft:5,marginRight:-6,width:24,height:24,color:e.vars?e.vars.palette.Chip.defaultAvatarColor:n,fontSize:e.typography.pxToRem(12)},[`& .${mt.avatarColorPrimary}`]:{color:(e.vars||e).palette.primary.contrastText,backgroundColor:(e.vars||e).palette.primary.dark},[`& .${mt.avatarColorSecondary}`]:{color:(e.vars||e).palette.secondary.contrastText,backgroundColor:(e.vars||e).palette.secondary.dark},[`& .${mt.avatarSmall}`]:{marginLeft:4,marginRight:-4,width:18,height:18,fontSize:e.typography.pxToRem(10)},[`& .${mt.icon}`]:x({marginLeft:5,marginRight:-6},t.size==="small"&&{fontSize:18,marginLeft:4,marginRight:-4},t.iconColor===t.color&&x({color:e.vars?e.vars.palette.Chip.defaultIconColor:n},t.color!=="default"&&{color:"inherit"})),[`& .${mt.deleteIcon}`]:x({WebkitTapHighlightColor:"transparent",color:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / 0.26)`:bt(e.palette.text.primary,.26),fontSize:22,cursor:"pointer",margin:"0 5px 0 -6px","&:hover":{color:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / 0.4)`:bt(e.palette.text.primary,.4)}},t.size==="small"&&{fontSize:16,marginRight:4,marginLeft:-4},t.color!=="default"&&{color:e.vars?`rgba(${e.vars.palette[t.color].contrastTextChannel} / 0.7)`:bt(e.palette[t.color].contrastText,.7),"&:hover, &:active":{color:(e.vars||e).palette[t.color].contrastText}})},t.size==="small"&&{height:24},t.color!=="default"&&{backgroundColor:(e.vars||e).palette[t.color].main,color:(e.vars||e).palette[t.color].contrastText},t.onDelete&&{[`&.${mt.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:bt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},t.onDelete&&t.color!=="default"&&{[`&.${mt.focusVisible}`]:{backgroundColor:(e.vars||e).palette[t.color].dark}})},({theme:e,ownerState:t})=>x({},t.clickable&&{userSelect:"none",WebkitTapHighlightColor:"transparent",cursor:"pointer","&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:bt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity)},[`&.${mt.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:bt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)},"&:active":{boxShadow:(e.vars||e).shadows[1]}},t.clickable&&t.color!=="default"&&{[`&:hover, &.${mt.focusVisible}`]:{backgroundColor:(e.vars||e).palette[t.color].dark}}),({theme:e,ownerState:t})=>x({},t.variant==="outlined"&&{backgroundColor:"transparent",border:e.vars?`1px solid ${e.vars.palette.Chip.defaultBorder}`:`1px solid ${e.palette.mode==="light"?e.palette.grey[400]:e.palette.grey[700]}`,[`&.${mt.clickable}:hover`]:{backgroundColor:(e.vars||e).palette.action.hover},[`&.${mt.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`& .${mt.avatar}`]:{marginLeft:4},[`& .${mt.avatarSmall}`]:{marginLeft:2},[`& .${mt.icon}`]:{marginLeft:4},[`& .${mt.iconSmall}`]:{marginLeft:2},[`& .${mt.deleteIcon}`]:{marginRight:5},[`& .${mt.deleteIconSmall}`]:{marginRight:3}},t.variant==="outlined"&&t.color!=="default"&&{color:(e.vars||e).palette[t.color].main,border:`1px solid ${e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / 0.7)`:bt(e.palette[t.color].main,.7)}`,[`&.${mt.clickable}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:bt(e.palette[t.color].main,e.palette.action.hoverOpacity)},[`&.${mt.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.focusOpacity})`:bt(e.palette[t.color].main,e.palette.action.focusOpacity)},[`& .${mt.deleteIcon}`]:{color:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / 0.7)`:bt(e.palette[t.color].main,.7),"&:hover, &:active":{color:(e.vars||e).palette[t.color].main}}})),Z4=re("span",{name:"MuiChip",slot:"Label",overridesResolver:(e,t)=>{const{ownerState:n}=e,{size:r}=n;return[t.label,t[`label${oe(r)}`]]}})(({ownerState:e})=>x({overflow:"hidden",textOverflow:"ellipsis",paddingLeft:12,paddingRight:12,whiteSpace:"nowrap"},e.variant==="outlined"&&{paddingLeft:11,paddingRight:11},e.size==="small"&&{paddingLeft:8,paddingRight:8},e.size==="small"&&e.variant==="outlined"&&{paddingLeft:7,paddingRight:7}));function vk(e){return e.key==="Backspace"||e.key==="Delete"}const Wm=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiChip"}),{avatar:o,className:s,clickable:i,color:l="default",component:a,deleteIcon:c,disabled:u=!1,icon:d,label:f,onClick:h,onDelete:g,onKeyDown:m,onKeyUp:C,size:b="medium",variant:y="filled",tabIndex:w,skipFocusWhenDisabled:S=!1}=r,k=te(r,X4),P=p.useRef(null),M=vt(P,n),I=j=>{j.stopPropagation(),g&&g(j)},E=j=>{j.currentTarget===j.target&&vk(j)&&j.preventDefault(),m&&m(j)},T=j=>{j.currentTarget===j.target&&(g&&vk(j)?g(j):j.key==="Escape"&&P.current&&P.current.blur()),C&&C(j)},D=i!==!1&&h?!0:i,$=D||g?Xi:a||"div",L=x({},r,{component:$,disabled:u,size:b,color:l,iconColor:p.isValidElement(d)&&d.props.color||l,onDelete:!!g,clickable:D,variant:y}),A=Y4(L),R=$===Xi?x({component:a||"div",focusVisibleClassName:A.focusVisible},g&&{disableRipple:!0}):{};let _=null;g&&(_=c&&p.isValidElement(c)?p.cloneElement(c,{className:le(c.props.className,A.deleteIcon),onClick:I}):v.jsx(K4,{className:le(A.deleteIcon),onClick:I}));let O=null;o&&p.isValidElement(o)&&(O=p.cloneElement(o,{className:le(A.avatar,o.props.className)}));let F=null;return d&&p.isValidElement(d)&&(F=p.cloneElement(d,{className:le(A.icon,d.props.className)})),v.jsxs(Q4,x({as:$,className:le(A.root,s),disabled:D&&u?!0:void 0,onClick:h,onKeyDown:E,onKeyUp:T,ref:M,tabIndex:S&&u?-1:w,ownerState:L},R,k,{children:[O||F,v.jsx(Z4,{className:le(A.label),ownerState:L,children:f}),_]}))}),J4=["onChange","maxRows","minRows","style","value"];function Ih(e){return parseInt(e,10)||0}const e3={shadow:{visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"}};function t3(e){for(const t in e)return!1;return!0}function yk(e){return t3(e)||e.outerHeightStyle===0&&!e.overflowing}const n3=p.forwardRef(function(t,n){const{onChange:r,maxRows:o,minRows:s=1,style:i,value:l}=t,a=te(t,J4),{current:c}=p.useRef(l!=null),u=p.useRef(null),d=vt(n,u),f=p.useRef(null),h=p.useRef(null),g=p.useCallback(()=>{const w=u.current,S=h.current;if(!w||!S)return;const P=Do(w).getComputedStyle(w);if(P.width==="0px")return{outerHeightStyle:0,overflowing:!1};S.style.width=P.width,S.value=w.value||t.placeholder||"x",S.value.slice(-1)===`
+`&&(S.value+=" ");const M=P.boxSizing,I=Ih(P.paddingBottom)+Ih(P.paddingTop),E=Ih(P.borderBottomWidth)+Ih(P.borderTopWidth),T=S.scrollHeight;S.value="x";const D=S.scrollHeight;let $=T;s&&($=Math.max(Number(s)*D,$)),o&&($=Math.min(Number(o)*D,$)),$=Math.max($,D);const L=$+(M==="border-box"?I+E:0),A=Math.abs($-T)<=1;return{outerHeightStyle:L,overflowing:A}},[o,s,t.placeholder]),m=Ke(()=>{const w=u.current,S=g();if(!w||!S||yk(S))return!1;const k=S.outerHeightStyle;return f.current!=null&&f.current!==k}),C=p.useCallback(()=>{const w=u.current,S=g();if(!w||!S||yk(S))return;const k=S.outerHeightStyle;f.current!==k&&(f.current=k,w.style.height=`${k}px`),w.style.overflow=S.overflowing?"hidden":""},[g]),b=p.useRef(-1);Et(()=>{const w=Qc(C),S=u==null?void 0:u.current;if(!S)return;const k=Do(S);k.addEventListener("resize",w);let P;return typeof ResizeObserver<"u"&&(P=new ResizeObserver(()=>{m()&&(P.unobserve(S),cancelAnimationFrame(b.current),C(),b.current=requestAnimationFrame(()=>{P.observe(S)}))}),P.observe(S)),()=>{w.clear(),cancelAnimationFrame(b.current),k.removeEventListener("resize",w),P&&P.disconnect()}},[g,C,m]),Et(()=>{C()});const y=w=>{c||C(),r&&r(w)};return v.jsxs(p.Fragment,{children:[v.jsx("textarea",x({value:l,onChange:y,ref:d,rows:s,style:i},a)),v.jsx("textarea",{"aria-hidden":!0,className:t.className,readOnly:!0,ref:h,tabIndex:-1,style:x({},e3.shadow,i,{paddingTop:0,paddingBottom:0})})]})});function sa({props:e,states:t,muiFormControl:n}){return t.reduce((r,o)=>(r[o]=e[o],n&&typeof e[o]>"u"&&(r[o]=n[o]),r),{})}const Gm=p.createContext(void 0);function Us(){return p.useContext(Gm)}function xk(e){return e!=null&&!(Array.isArray(e)&&e.length===0)}function dg(e,t=!1){return e&&(xk(e.value)&&e.value!==""||t&&xk(e.defaultValue)&&e.defaultValue!=="")}function r3(e){return e.startAdornment}function o3(e){return ze("MuiInputBase",e)}const Rn=Ne("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]),s3=["aria-describedby","autoComplete","autoFocus","className","color","components","componentsProps","defaultValue","disabled","disableInjectingGlobalStyles","endAdornment","error","fullWidth","id","inputComponent","inputProps","inputRef","margin","maxRows","minRows","multiline","name","onBlur","onChange","onClick","onFocus","onKeyDown","onKeyUp","placeholder","readOnly","renderSuffix","rows","size","slotProps","slots","startAdornment","type","value"],Um=(e,t)=>{const{ownerState:n}=e;return[t.root,n.formControl&&t.formControl,n.startAdornment&&t.adornedStart,n.endAdornment&&t.adornedEnd,n.error&&t.error,n.size==="small"&&t.sizeSmall,n.multiline&&t.multiline,n.color&&t[`color${oe(n.color)}`],n.fullWidth&&t.fullWidth,n.hiddenLabel&&t.hiddenLabel]},Km=(e,t)=>{const{ownerState:n}=e;return[t.input,n.size==="small"&&t.inputSizeSmall,n.multiline&&t.inputMultiline,n.type==="search"&&t.inputTypeSearch,n.startAdornment&&t.inputAdornedStart,n.endAdornment&&t.inputAdornedEnd,n.hiddenLabel&&t.inputHiddenLabel]},i3=e=>{const{classes:t,color:n,disabled:r,error:o,endAdornment:s,focused:i,formControl:l,fullWidth:a,hiddenLabel:c,multiline:u,readOnly:d,size:f,startAdornment:h,type:g}=e,m={root:["root",`color${oe(n)}`,r&&"disabled",o&&"error",a&&"fullWidth",i&&"focused",l&&"formControl",f&&f!=="medium"&&`size${oe(f)}`,u&&"multiline",h&&"adornedStart",s&&"adornedEnd",c&&"hiddenLabel",d&&"readOnly"],input:["input",r&&"disabled",g==="search"&&"inputTypeSearch",u&&"inputMultiline",f==="small"&&"inputSizeSmall",c&&"inputHiddenLabel",h&&"inputAdornedStart",s&&"inputAdornedEnd",d&&"readOnly"]};return ve(m,o3,t)},qm=re("div",{name:"MuiInputBase",slot:"Root",overridesResolver:Um})(({theme:e,ownerState:t})=>x({},e.typography.body1,{color:(e.vars||e).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${Rn.disabled}`]:{color:(e.vars||e).palette.text.disabled,cursor:"default"}},t.multiline&&x({padding:"4px 0 5px"},t.size==="small"&&{paddingTop:1}),t.fullWidth&&{width:"100%"})),Xm=re("input",{name:"MuiInputBase",slot:"Input",overridesResolver:Km})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light",r=x({color:"currentColor"},e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5},{transition:e.transitions.create("opacity",{duration:e.transitions.duration.shorter})}),o={opacity:"0 !important"},s=e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5};return x({font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%",animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&::-webkit-input-placeholder":r,"&::-moz-placeholder":r,"&:-ms-input-placeholder":r,"&::-ms-input-placeholder":r,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${Rn.formControl} &`]:{"&::-webkit-input-placeholder":o,"&::-moz-placeholder":o,"&:-ms-input-placeholder":o,"&::-ms-input-placeholder":o,"&:focus::-webkit-input-placeholder":s,"&:focus::-moz-placeholder":s,"&:focus:-ms-input-placeholder":s,"&:focus::-ms-input-placeholder":s},[`&.${Rn.disabled}`]:{opacity:1,WebkitTextFillColor:(e.vars||e).palette.text.disabled},"&:-webkit-autofill":{animationDuration:"5000s",animationName:"mui-auto-fill"}},t.size==="small"&&{paddingTop:1},t.multiline&&{height:"auto",resize:"none",padding:0,paddingTop:0},t.type==="search"&&{MozAppearance:"textfield"})}),l3=v.jsx(kR,{styles:{"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}}),tu=p.forwardRef(function(t,n){var r;const o=We({props:t,name:"MuiInputBase"}),{"aria-describedby":s,autoComplete:i,autoFocus:l,className:a,components:c={},componentsProps:u={},defaultValue:d,disabled:f,disableInjectingGlobalStyles:h,endAdornment:g,fullWidth:m=!1,id:C,inputComponent:b="input",inputProps:y={},inputRef:w,maxRows:S,minRows:k,multiline:P=!1,name:M,onBlur:I,onChange:E,onClick:T,onFocus:D,onKeyDown:$,onKeyUp:L,placeholder:A,readOnly:R,renderSuffix:_,rows:O,slotProps:F={},slots:j={},startAdornment:z,type:H="text",value:B}=o,G=te(o,s3),V=y.value!=null?y.value:B,{current:Z}=p.useRef(V!=null),Q=p.useRef(),U=p.useCallback(ue=>{},[]),K=vt(Q,w,y.ref,U),[ee,de]=p.useState(!1),se=Us(),ge=sa({props:o,muiFormControl:se,states:["color","disabled","error","hiddenLabel","size","required","filled"]});ge.focused=se?se.focused:ee,p.useEffect(()=>{!se&&f&&ee&&(de(!1),I&&I())},[se,f,ee,I]);const q=se&&se.onFilled,me=se&&se.onEmpty,ae=p.useCallback(ue=>{dg(ue)?q&&q():me&&me()},[q,me]);Et(()=>{Z&&ae({value:V})},[V,ae,Z]);const ce=ue=>{if(ge.disabled){ue.stopPropagation();return}D&&D(ue),y.onFocus&&y.onFocus(ue),se&&se.onFocus?se.onFocus(ue):de(!0)},ye=ue=>{I&&I(ue),y.onBlur&&y.onBlur(ue),se&&se.onBlur?se.onBlur(ue):de(!1)},ne=(ue,...Y)=>{if(!Z){const xe=ue.target||Q.current;if(xe==null)throw new Error(js(1));ae({value:xe.value})}y.onChange&&y.onChange(ue,...Y),E&&E(ue,...Y)};p.useEffect(()=>{ae(Q.current)},[]);const Oe=ue=>{Q.current&&ue.currentTarget===ue.target&&Q.current.focus(),T&&T(ue)};let _e=b,Pe=y;P&&_e==="input"&&(O?Pe=x({type:void 0,minRows:O,maxRows:O},Pe):Pe=x({type:void 0,maxRows:S,minRows:k},Pe),_e=n3);const He=ue=>{ae(ue.animationName==="mui-auto-fill-cancel"?Q.current:{value:"x"})};p.useEffect(()=>{se&&se.setAdornedStart(!!z)},[se,z]);const De=x({},o,{color:ge.color||"primary",disabled:ge.disabled,endAdornment:g,error:ge.error,focused:ge.focused,formControl:se,fullWidth:m,hiddenLabel:ge.hiddenLabel,multiline:P,size:ge.size,startAdornment:z,type:H}),we=i3(De),Ae=j.root||c.Root||qm,ie=F.root||u.root||{},be=j.input||c.Input||Xm;return Pe=x({},Pe,(r=F.input)!=null?r:u.input),v.jsxs(p.Fragment,{children:[!h&&l3,v.jsxs(Ae,x({},ie,!ef(Ae)&&{ownerState:x({},De,ie.ownerState)},{ref:n,onClick:Oe},G,{className:le(we.root,ie.className,a,R&&"MuiInputBase-readOnly"),children:[z,v.jsx(Gm.Provider,{value:null,children:v.jsx(be,x({ownerState:De,"aria-invalid":ge.error,"aria-describedby":s,autoComplete:i,autoFocus:l,defaultValue:d,disabled:ge.disabled,id:C,onAnimationStart:He,name:M,placeholder:A,readOnly:R,required:ge.required,rows:O,value:V,onKeyDown:$,onKeyUp:L,type:H},Pe,!ef(be)&&{as:_e,ownerState:x({},De,Pe.ownerState)},{ref:K,className:le(we.input,Pe.className,R&&"MuiInputBase-readOnly"),onBlur:ye,onChange:ne,onFocus:ce}))}),g,_?_(x({},ge,{startAdornment:z})):null]}))]})});function a3(e){return ze("MuiInput",e)}const hi=x({},Rn,Ne("MuiInput",["root","underline","input"]));function c3(e){return ze("MuiOutlinedInput",e)}const qo=x({},Rn,Ne("MuiOutlinedInput",["root","notchedOutline","input"]));function u3(e){return ze("MuiFilledInput",e)}const Tr=x({},Rn,Ne("MuiFilledInput",["root","underline","input"])),WR=Qe(v.jsx("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown");function d3(e){return ze("MuiAutocomplete",e)}const nt=Ne("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var Ck,wk;const f3=["autoComplete","autoHighlight","autoSelect","blurOnSelect","ChipProps","className","clearIcon","clearOnBlur","clearOnEscape","clearText","closeText","componentsProps","defaultValue","disableClearable","disableCloseOnSelect","disabled","disabledItemsFocusable","disableListWrap","disablePortal","filterOptions","filterSelectedOptions","forcePopupIcon","freeSolo","fullWidth","getLimitTagsText","getOptionDisabled","getOptionKey","getOptionLabel","isOptionEqualToValue","groupBy","handleHomeEndKeys","id","includeInputInList","inputValue","limitTags","ListboxComponent","ListboxProps","loading","loadingText","multiple","noOptionsText","onChange","onClose","onHighlightChange","onInputChange","onOpen","open","openOnFocus","openText","options","PaperComponent","PopperComponent","popupIcon","readOnly","renderGroup","renderInput","renderOption","renderTags","selectOnFocus","size","slotProps","value"],h3=["ref"],p3=["key"],g3=["key"],m3=e=>{const{classes:t,disablePortal:n,expanded:r,focused:o,fullWidth:s,hasClearIcon:i,hasPopupIcon:l,inputFocused:a,popupOpen:c,size:u}=e,d={root:["root",r&&"expanded",o&&"focused",s&&"fullWidth",i&&"hasClearIcon",l&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",a&&"inputFocused"],tag:["tag",`tagSize${oe(u)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",c&&"popupIndicatorOpen"],popper:["popper",n&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return ve(d,d3,t)},b3=re("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e,{fullWidth:r,hasClearIcon:o,hasPopupIcon:s,inputFocused:i,size:l}=n;return[{[`& .${nt.tag}`]:t.tag},{[`& .${nt.tag}`]:t[`tagSize${oe(l)}`]},{[`& .${nt.inputRoot}`]:t.inputRoot},{[`& .${nt.input}`]:t.input},{[`& .${nt.input}`]:i&&t.inputFocused},t.root,r&&t.fullWidth,s&&t.hasPopupIcon,o&&t.hasClearIcon]}})({[`&.${nt.focused} .${nt.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${nt.clearIndicator}`]:{visibility:"visible"}},[`& .${nt.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${nt.inputRoot}`]:{[`.${nt.hasPopupIcon}&, .${nt.hasClearIcon}&`]:{paddingRight:30},[`.${nt.hasPopupIcon}.${nt.hasClearIcon}&`]:{paddingRight:56},[`& .${nt.input}`]:{width:0,minWidth:30}},[`& .${hi.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${hi.root}.${Rn.sizeSmall}`]:{[`& .${hi.input}`]:{padding:"2px 4px 3px 0"}},[`& .${qo.root}`]:{padding:9,[`.${nt.hasPopupIcon}&, .${nt.hasClearIcon}&`]:{paddingRight:39},[`.${nt.hasPopupIcon}.${nt.hasClearIcon}&`]:{paddingRight:65},[`& .${nt.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${nt.endAdornment}`]:{right:9}},[`& .${qo.root}.${Rn.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${nt.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${Tr.root}`]:{paddingTop:19,paddingLeft:8,[`.${nt.hasPopupIcon}&, .${nt.hasClearIcon}&`]:{paddingRight:39},[`.${nt.hasPopupIcon}.${nt.hasClearIcon}&`]:{paddingRight:65},[`& .${Tr.input}`]:{padding:"7px 4px"},[`& .${nt.endAdornment}`]:{right:9}},[`& .${Tr.root}.${Rn.sizeSmall}`]:{paddingBottom:1,[`& .${Tr.input}`]:{padding:"2.5px 4px"}},[`& .${Rn.hiddenLabel}`]:{paddingTop:8},[`& .${Tr.root}.${Rn.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${nt.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${Tr.root}.${Rn.hiddenLabel}.${Rn.sizeSmall}`]:{[`& .${nt.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${nt.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${nt.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${nt.input}`]:{opacity:1}}},{props:{multiple:!0},style:{[`& .${nt.inputRoot}`]:{flexWrap:"wrap"}}}]}),v3=re("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(e,t)=>t.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),y3=re(gr,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(e,t)=>t.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),x3=re(gr,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:({ownerState:e},t)=>x({},t.popupIndicator,e.popupOpen&&t.popupIndicatorOpen)})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),C3=re(oa,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${nt.option}`]:t.option},t.popper,n.disablePortal&&t.popperDisablePortal]}})(({theme:e})=>({zIndex:(e.vars||e).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]})),w3=re(Gs,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:(e,t)=>t.paper})(({theme:e})=>x({},e.typography.body1,{overflow:"auto"})),S3=re("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:(e,t)=>t.loading})(({theme:e})=>({color:(e.vars||e).palette.text.secondary,padding:"14px 16px"})),k3=re("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:(e,t)=>t.noOptions})(({theme:e})=>({color:(e.vars||e).palette.text.secondary,padding:"14px 16px"})),P3=re("div",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:(e,t)=>t.listbox})(({theme:e})=>({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${nt.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[e.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${nt.focused}`]:{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(e.vars||e).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${nt.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:bt(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${nt.focused}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:bt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(e.vars||e).palette.action.selected}},[`&.${nt.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:bt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}}}})),M3=re(VR,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:(e,t)=>t.groupLabel})(({theme:e})=>({backgroundColor:(e.vars||e).palette.background.paper,top:-8})),I3=re("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:(e,t)=>t.groupUl})({padding:0,[`& .${nt.option}`]:{paddingLeft:24}}),yC=p.forwardRef(function(t,n){var r,o,s,i;const l=We({props:t,name:"MuiAutocomplete"}),{autoComplete:a=!1,autoHighlight:c=!1,autoSelect:u=!1,blurOnSelect:d=!1,ChipProps:f,className:h,clearIcon:g=Ck||(Ck=v.jsx(_R,{fontSize:"small"})),clearOnBlur:m=!l.freeSolo,clearOnEscape:C=!1,clearText:b="Clear",closeText:y="Close",componentsProps:w={},defaultValue:S=l.multiple?[]:null,disableClearable:k=!1,disableCloseOnSelect:P=!1,disabled:M=!1,disabledItemsFocusable:I=!1,disableListWrap:E=!1,disablePortal:T=!1,filterSelectedOptions:D=!1,forcePopupIcon:$="auto",freeSolo:L=!1,fullWidth:A=!1,getLimitTagsText:R=J=>`+${J}`,getOptionLabel:_,groupBy:O,handleHomeEndKeys:F=!l.freeSolo,includeInputInList:j=!1,limitTags:z=-1,ListboxComponent:H="ul",ListboxProps:B,loading:G=!1,loadingText:V="Loading…",multiple:Z=!1,noOptionsText:Q="No options",openOnFocus:U=!1,openText:K="Open",PaperComponent:ee=Gs,PopperComponent:de=oa,popupIcon:se=wk||(wk=v.jsx(WR,{})),readOnly:ge=!1,renderGroup:q,renderInput:me,renderOption:ae,renderTags:ce,selectOnFocus:ye=!l.freeSolo,size:ne="medium",slotProps:Oe={}}=l,_e=te(l,f3),{getRootProps:Pe,getInputProps:He,getInputLabelProps:De,getPopupIndicatorProps:we,getClearProps:Ae,getTagProps:ie,getListboxProps:be,getOptionProps:ue,value:Y,dirty:xe,expanded:Re,id:Ze,popupOpen:Me,focused:Se,focusedTag:pe,anchorEl:ke,setAnchorEl:Ge,inputValue:Ye,groupedOptions:rt}=yB(x({},l,{componentName:"Autocomplete"})),yt=!k&&!M&&xe&&!ge,Ot=(!L||$===!0)&&$!==!1,{onMouseDown:vn}=He(),{ref:Ut}=B??{},Hn=be(),{ref:No}=Hn,ps=te(Hn,h3),Xs=vt(No,Ut),Mr=_||(J=>{var Ie;return(Ie=J.label)!=null?Ie:J}),In=x({},l,{disablePortal:T,expanded:Re,focused:Se,fullWidth:A,getOptionLabel:Mr,hasClearIcon:yt,hasPopupIcon:Ot,inputFocused:pe===-1,popupOpen:Me,size:ne}),Vt=m3(In);let Yn;if(Z&&Y.length>0){const J=Ie=>x({className:Vt.tag,disabled:M},ie(Ie));ce?Yn=ce(Y,J,In):Yn=Y.map((Ie,Ve)=>{const tt=J({index:Ve}),{key:je}=tt,ct=te(tt,p3);return v.jsx(Wm,x({label:Mr(Ie),size:ne},ct,f),je)})}if(z>-1&&Array.isArray(Yn)){const J=Yn.length-z;!Se&&J>0&&(Yn=Yn.splice(0,z),Yn.push(v.jsx("span",{className:Vt.tag,children:R(J)},Yn.length)))}const gs=q||(J=>v.jsxs("li",{children:[v.jsx(M3,{className:Vt.groupLabel,ownerState:In,component:"div",children:J.group}),v.jsx(I3,{className:Vt.groupUl,ownerState:In,children:J.children})]},J.key)),ms=ae||((J,Ie)=>{const{key:Ve}=J,tt=te(J,g3);return v.jsx("li",x({},tt,{children:Mr(Ie)}),Ve)}),Qs=(J,Ie)=>{const Ve=ue({option:J,index:Ie});return ms(x({},Ve,{className:Vt.option}),J,{selected:Ve["aria-selected"],index:Ie,inputValue:Ye},In)},Zs=(r=Oe.clearIndicator)!=null?r:w.clearIndicator,Ho=(o=Oe.paper)!=null?o:w.paper,bs=(s=Oe.popper)!=null?s:w.popper,fe=(i=Oe.popupIndicator)!=null?i:w.popupIndicator;return v.jsxs(p.Fragment,{children:[v.jsx(b3,x({ref:n,className:le(Vt.root,h),ownerState:In},Pe(_e),{children:me({id:Ze,disabled:M,fullWidth:!0,size:ne==="small"?"small":void 0,InputLabelProps:De(),InputProps:x({ref:Ge,className:Vt.inputRoot,startAdornment:Yn,onClick:J=>{J.target===J.currentTarget&&vn(J)}},(yt||Ot)&&{endAdornment:v.jsxs(v3,{className:Vt.endAdornment,ownerState:In,children:[yt?v.jsx(y3,x({},Ae(),{"aria-label":b,title:b,ownerState:In},Zs,{className:le(Vt.clearIndicator,Zs==null?void 0:Zs.className),children:g})):null,Ot?v.jsx(x3,x({},we(),{disabled:M,"aria-label":Me?y:K,title:Me?y:K,ownerState:In},fe,{className:le(Vt.popupIndicator,fe==null?void 0:fe.className),children:se})):null]})}),inputProps:x({className:Vt.input,disabled:M,readOnly:ge},He())})})),ke?v.jsx(C3,x({as:de,disablePortal:T,style:{width:ke?ke.clientWidth:null},ownerState:In,role:"presentation",anchorEl:ke,open:Me},bs,{className:le(Vt.popper,bs==null?void 0:bs.className),children:v.jsxs(w3,x({ownerState:In,as:ee},Ho,{className:le(Vt.paper,Ho==null?void 0:Ho.className),children:[G&&rt.length===0?v.jsx(S3,{className:Vt.loading,ownerState:In,children:V}):null,rt.length===0&&!L&&!G?v.jsx(k3,{className:Vt.noOptions,ownerState:In,role:"presentation",onMouseDown:J=>{J.preventDefault()},children:Q}):null,rt.length>0?v.jsx(P3,x({as:H,className:Vt.listbox,ownerState:In},ps,B,{ref:Xs,children:rt.map((J,Ie)=>O?gs({key:J.key,group:J.group,children:J.options.map((Ve,tt)=>Qs(Ve,J.index+tt))}):Qs(J,Ie))})):null]}))})):null]})}),E3=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"],_3={entering:{opacity:1},entered:{opacity:1}},GR=p.forwardRef(function(t,n){const r=tl(),o={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:s,appear:i=!0,children:l,easing:a,in:c,onEnter:u,onEntered:d,onEntering:f,onExit:h,onExited:g,onExiting:m,style:C,timeout:b=o,TransitionComponent:y=ds}=t,w=te(t,E3),S=p.useRef(null),k=vt(S,ra(l),n),P=A=>R=>{if(A){const _=S.current;R===void 0?A(_):A(_,R)}},M=P(f),I=P((A,R)=>{ER(A);const _=cg({style:C,timeout:b,easing:a},{mode:"enter"});A.style.webkitTransition=r.transitions.create("opacity",_),A.style.transition=r.transitions.create("opacity",_),u&&u(A,R)}),E=P(d),T=P(m),D=P(A=>{const R=cg({style:C,timeout:b,easing:a},{mode:"exit"});A.style.webkitTransition=r.transitions.create("opacity",R),A.style.transition=r.transitions.create("opacity",R),h&&h(A)}),$=P(g),L=A=>{s&&s(S.current,A)};return v.jsx(y,x({appear:i,in:c,nodeRef:S,onEnter:I,onEntered:E,onEntering:M,onExit:D,onExited:$,onExiting:T,addEndListener:L,timeout:b},w,{children:(A,R)=>p.cloneElement(l,x({style:x({opacity:0,visibility:A==="exited"&&!c?"hidden":void 0},_3[A],C,l.props.style),ref:k},R))}))});function T3(e){return ze("MuiBackdrop",e)}Ne("MuiBackdrop",["root","invisible"]);const R3=["children","className","component","components","componentsProps","invisible","open","slotProps","slots","TransitionComponent","transitionDuration"],O3=e=>{const{classes:t,invisible:n}=e;return ve({root:["root",n&&"invisible"]},T3,t)},$3=re("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.invisible&&t.invisible]}})(({ownerState:e})=>x({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},e.invisible&&{backgroundColor:"transparent"})),UR=p.forwardRef(function(t,n){var r,o,s;const i=We({props:t,name:"MuiBackdrop"}),{children:l,className:a,component:c="div",components:u={},componentsProps:d={},invisible:f=!1,open:h,slotProps:g={},slots:m={},TransitionComponent:C=GR,transitionDuration:b}=i,y=te(i,R3),w=x({},i,{component:c,invisible:f}),S=O3(w),k=(r=g.root)!=null?r:d.root;return v.jsx(C,x({in:h,timeout:b},y,{children:v.jsx($3,x({"aria-hidden":!0},k,{as:(o=(s=m.root)!=null?s:u.Root)!=null?o:c,className:le(S.root,a,k==null?void 0:k.className),ownerState:x({},w,k==null?void 0:k.ownerState),classes:S,ref:n,children:l}))}))});function F3(e){const{badgeContent:t,invisible:n=!1,max:r=99,showZero:o=!1}=e,s=rC({badgeContent:t,max:r});let i=n;n===!1&&t===0&&!o&&(i=!0);const{badgeContent:l,max:a=r}=i?s:e,c=l&&Number(l)>a?`${a}+`:l;return{badgeContent:l,invisible:i,max:a,displayValue:c}}function L3(e){return ze("MuiBadge",e)}const ei=Ne("MuiBadge",["root","badge","dot","standard","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft","invisible","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","overlapRectangular","overlapCircular","anchorOriginTopLeftCircular","anchorOriginTopLeftRectangular","anchorOriginTopRightCircular","anchorOriginTopRightRectangular","anchorOriginBottomLeftCircular","anchorOriginBottomLeftRectangular","anchorOriginBottomRightCircular","anchorOriginBottomRightRectangular"]),D3=["anchorOrigin","className","classes","component","components","componentsProps","children","overlap","color","invisible","max","badgeContent","slots","slotProps","showZero","variant"],av=10,cv=4,A3=e=>{const{color:t,anchorOrigin:n,invisible:r,overlap:o,variant:s,classes:i={}}=e,l={root:["root"],badge:["badge",s,r&&"invisible",`anchorOrigin${oe(n.vertical)}${oe(n.horizontal)}`,`anchorOrigin${oe(n.vertical)}${oe(n.horizontal)}${oe(o)}`,`overlap${oe(o)}`,t!=="default"&&`color${oe(t)}`]};return ve(l,L3,i)},j3=re("span",{name:"MuiBadge",slot:"Root",overridesResolver:(e,t)=>t.root})({position:"relative",display:"inline-flex",verticalAlign:"middle",flexShrink:0}),z3=re("span",{name:"MuiBadge",slot:"Badge",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.badge,t[n.variant],t[`anchorOrigin${oe(n.anchorOrigin.vertical)}${oe(n.anchorOrigin.horizontal)}${oe(n.overlap)}`],n.color!=="default"&&t[`color${oe(n.color)}`],n.invisible&&t.invisible]}})(({theme:e})=>{var t;return{display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"center",alignContent:"center",alignItems:"center",position:"absolute",boxSizing:"border-box",fontFamily:e.typography.fontFamily,fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.pxToRem(12),minWidth:av*2,lineHeight:1,padding:"0 6px",height:av*2,borderRadius:av,zIndex:1,transition:e.transitions.create("transform",{easing:e.transitions.easing.easeInOut,duration:e.transitions.duration.enteringScreen}),variants:[...Object.keys(((t=e.vars)!=null?t:e).palette).filter(n=>{var r,o;return((r=e.vars)!=null?r:e).palette[n].main&&((o=e.vars)!=null?o:e).palette[n].contrastText}).map(n=>({props:{color:n},style:{backgroundColor:(e.vars||e).palette[n].main,color:(e.vars||e).palette[n].contrastText}})),{props:{variant:"dot"},style:{borderRadius:cv,height:cv*2,minWidth:cv*2,padding:0}},{props:({ownerState:n})=>n.anchorOrigin.vertical==="top"&&n.anchorOrigin.horizontal==="right"&&n.overlap==="rectangular",style:{top:0,right:0,transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${ei.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:n})=>n.anchorOrigin.vertical==="bottom"&&n.anchorOrigin.horizontal==="right"&&n.overlap==="rectangular",style:{bottom:0,right:0,transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${ei.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:n})=>n.anchorOrigin.vertical==="top"&&n.anchorOrigin.horizontal==="left"&&n.overlap==="rectangular",style:{top:0,left:0,transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${ei.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:n})=>n.anchorOrigin.vertical==="bottom"&&n.anchorOrigin.horizontal==="left"&&n.overlap==="rectangular",style:{bottom:0,left:0,transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${ei.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:({ownerState:n})=>n.anchorOrigin.vertical==="top"&&n.anchorOrigin.horizontal==="right"&&n.overlap==="circular",style:{top:"14%",right:"14%",transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${ei.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:n})=>n.anchorOrigin.vertical==="bottom"&&n.anchorOrigin.horizontal==="right"&&n.overlap==="circular",style:{bottom:"14%",right:"14%",transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${ei.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:n})=>n.anchorOrigin.vertical==="top"&&n.anchorOrigin.horizontal==="left"&&n.overlap==="circular",style:{top:"14%",left:"14%",transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${ei.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:n})=>n.anchorOrigin.vertical==="bottom"&&n.anchorOrigin.horizontal==="left"&&n.overlap==="circular",style:{bottom:"14%",left:"14%",transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${ei.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:{invisible:!0},style:{transition:e.transitions.create("transform",{easing:e.transitions.easing.easeInOut,duration:e.transitions.duration.leavingScreen})}}]}}),N3=p.forwardRef(function(t,n){var r,o,s,i,l,a;const c=We({props:t,name:"MuiBadge"}),{anchorOrigin:u={vertical:"top",horizontal:"right"},className:d,component:f,components:h={},componentsProps:g={},children:m,overlap:C="rectangular",color:b="default",invisible:y=!1,max:w=99,badgeContent:S,slots:k,slotProps:P,showZero:M=!1,variant:I="standard"}=c,E=te(c,D3),{badgeContent:T,invisible:D,max:$,displayValue:L}=F3({max:w,invisible:y,badgeContent:S,showZero:M}),A=rC({anchorOrigin:u,color:b,overlap:C,variant:I,badgeContent:S}),R=D||T==null&&I!=="dot",{color:_=b,overlap:O=C,anchorOrigin:F=u,variant:j=I}=R?A:c,z=j!=="dot"?L:void 0,H=x({},c,{badgeContent:T,invisible:R,max:$,displayValue:z,showZero:M,anchorOrigin:F,color:_,overlap:O,variant:j}),B=A3(H),G=(r=(o=k==null?void 0:k.root)!=null?o:h.Root)!=null?r:j3,V=(s=(i=k==null?void 0:k.badge)!=null?i:h.Badge)!=null?s:z3,Z=(l=P==null?void 0:P.root)!=null?l:g.root,Q=(a=P==null?void 0:P.badge)!=null?a:g.badge,U=kr({elementType:G,externalSlotProps:Z,externalForwardedProps:E,additionalProps:{ref:n,as:f},ownerState:H,className:le(Z==null?void 0:Z.className,B.root,d)}),K=kr({elementType:V,externalSlotProps:Q,ownerState:H,className:le(B.badge,Q==null?void 0:Q.className)});return v.jsxs(G,x({},U,{children:[m,v.jsx(V,x({},K,{children:z}))]}))}),H3=Ne("MuiBox",["root"]),B3=lC(),Tt=Uz({themeId:kc,defaultTheme:B3,defaultClassName:H3.root,generateClassName:Z0.generate});function V3(e){return ze("MuiButton",e)}const Eh=Ne("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","colorPrimary","colorSecondary","colorSuccess","colorError","colorInfo","colorWarning","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","icon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]),W3=p.createContext({}),G3=p.createContext(void 0),U3=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],K3=e=>{const{color:t,disableElevation:n,fullWidth:r,size:o,variant:s,classes:i}=e,l={root:["root",s,`${s}${oe(t)}`,`size${oe(o)}`,`${s}Size${oe(o)}`,`color${oe(t)}`,n&&"disableElevation",r&&"fullWidth"],label:["label"],startIcon:["icon","startIcon",`iconSize${oe(o)}`],endIcon:["icon","endIcon",`iconSize${oe(o)}`]},a=ve(l,V3,i);return x({},i,a)},KR=e=>x({},e.size==="small"&&{"& > *:nth-of-type(1)":{fontSize:18}},e.size==="medium"&&{"& > *:nth-of-type(1)":{fontSize:20}},e.size==="large"&&{"& > *:nth-of-type(1)":{fontSize:22}}),q3=re(Xi,{shouldForwardProp:e=>Pr(e)||e==="classes",name:"MuiButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${oe(n.color)}`],t[`size${oe(n.size)}`],t[`${n.variant}Size${oe(n.size)}`],n.color==="inherit"&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth]}})(({theme:e,ownerState:t})=>{var n,r;const o=e.palette.mode==="light"?e.palette.grey[300]:e.palette.grey[800],s=e.palette.mode==="light"?e.palette.grey.A100:e.palette.grey[700];return x({},e.typography.button,{minWidth:64,padding:"6px 16px",borderRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create(["background-color","box-shadow","border-color","color"],{duration:e.transitions.duration.short}),"&:hover":x({textDecoration:"none",backgroundColor:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.hoverOpacity})`:bt(e.palette.text.primary,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="text"&&t.color!=="inherit"&&{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:bt(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="outlined"&&t.color!=="inherit"&&{border:`1px solid ${(e.vars||e).palette[t.color].main}`,backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:bt(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="contained"&&{backgroundColor:e.vars?e.vars.palette.Button.inheritContainedHoverBg:s,boxShadow:(e.vars||e).shadows[4],"@media (hover: none)":{boxShadow:(e.vars||e).shadows[2],backgroundColor:(e.vars||e).palette.grey[300]}},t.variant==="contained"&&t.color!=="inherit"&&{backgroundColor:(e.vars||e).palette[t.color].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t.color].main}}),"&:active":x({},t.variant==="contained"&&{boxShadow:(e.vars||e).shadows[8]}),[`&.${Eh.focusVisible}`]:x({},t.variant==="contained"&&{boxShadow:(e.vars||e).shadows[6]}),[`&.${Eh.disabled}`]:x({color:(e.vars||e).palette.action.disabled},t.variant==="outlined"&&{border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`},t.variant==="contained"&&{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground})},t.variant==="text"&&{padding:"6px 8px"},t.variant==="text"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].main},t.variant==="outlined"&&{padding:"5px 15px",border:"1px solid currentColor"},t.variant==="outlined"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].main,border:e.vars?`1px solid rgba(${e.vars.palette[t.color].mainChannel} / 0.5)`:`1px solid ${bt(e.palette[t.color].main,.5)}`},t.variant==="contained"&&{color:e.vars?e.vars.palette.text.primary:(n=(r=e.palette).getContrastText)==null?void 0:n.call(r,e.palette.grey[300]),backgroundColor:e.vars?e.vars.palette.Button.inheritContainedBg:o,boxShadow:(e.vars||e).shadows[2]},t.variant==="contained"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].contrastText,backgroundColor:(e.vars||e).palette[t.color].main},t.color==="inherit"&&{color:"inherit",borderColor:"currentColor"},t.size==="small"&&t.variant==="text"&&{padding:"4px 5px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="text"&&{padding:"8px 11px",fontSize:e.typography.pxToRem(15)},t.size==="small"&&t.variant==="outlined"&&{padding:"3px 9px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="outlined"&&{padding:"7px 21px",fontSize:e.typography.pxToRem(15)},t.size==="small"&&t.variant==="contained"&&{padding:"4px 10px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="contained"&&{padding:"8px 22px",fontSize:e.typography.pxToRem(15)},t.fullWidth&&{width:"100%"})},({ownerState:e})=>e.disableElevation&&{boxShadow:"none","&:hover":{boxShadow:"none"},[`&.${Eh.focusVisible}`]:{boxShadow:"none"},"&:active":{boxShadow:"none"},[`&.${Eh.disabled}`]:{boxShadow:"none"}}),X3=re("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.startIcon,t[`iconSize${oe(n.size)}`]]}})(({ownerState:e})=>x({display:"inherit",marginRight:8,marginLeft:-4},e.size==="small"&&{marginLeft:-2},KR(e))),Y3=re("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.endIcon,t[`iconSize${oe(n.size)}`]]}})(({ownerState:e})=>x({display:"inherit",marginRight:-4,marginLeft:8},e.size==="small"&&{marginRight:-2},KR(e))),Sn=p.forwardRef(function(t,n){const r=p.useContext(W3),o=p.useContext(G3),s=Ic(r,t),i=We({props:s,name:"MuiButton"}),{children:l,color:a="primary",component:c="button",className:u,disabled:d=!1,disableElevation:f=!1,disableFocusRipple:h=!1,endIcon:g,focusVisibleClassName:m,fullWidth:C=!1,size:b="medium",startIcon:y,type:w,variant:S="text"}=i,k=te(i,U3),P=x({},i,{color:a,component:c,disabled:d,disableElevation:f,disableFocusRipple:h,fullWidth:C,size:b,type:w,variant:S}),M=K3(P),I=y&&v.jsx(X3,{className:M.startIcon,ownerState:P,children:y}),E=g&&v.jsx(Y3,{className:M.endIcon,ownerState:P,children:g}),T=o||"";return v.jsxs(q3,x({ownerState:P,className:le(r.className,M.root,u,T),component:c,disabled:d,focusRipple:!h,focusVisibleClassName:le(M.focusVisible,m),ref:n,type:w},k,{classes:M,children:[I,l,E]}))});function Q3(e){return ze("PrivateSwitchBase",e)}Ne("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const Z3=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],J3=e=>{const{classes:t,checked:n,disabled:r,edge:o}=e,s={root:["root",n&&"checked",r&&"disabled",o&&`edge${oe(o)}`],input:["input"]};return ve(s,Q3,t)},eV=re(Xi,{name:"MuiSwitchBase"})(({ownerState:e})=>x({padding:9,borderRadius:"50%"},e.edge==="start"&&{marginLeft:e.size==="small"?-3:-12},e.edge==="end"&&{marginRight:e.size==="small"?-3:-12})),tV=re("input",{name:"MuiSwitchBase",shouldForwardProp:Pr})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),nV=p.forwardRef(function(t,n){const{autoFocus:r,checked:o,checkedIcon:s,className:i,defaultChecked:l,disabled:a,disableFocusRipple:c=!1,edge:u=!1,icon:d,id:f,inputProps:h,inputRef:g,name:m,onBlur:C,onChange:b,onFocus:y,readOnly:w,required:S=!1,tabIndex:k,type:P,value:M}=t,I=te(t,Z3),[E,T]=Hi({controlled:o,default:!!l,name:"SwitchBase",state:"checked"}),D=Us(),$=j=>{y&&y(j),D&&D.onFocus&&D.onFocus(j)},L=j=>{C&&C(j),D&&D.onBlur&&D.onBlur(j)},A=j=>{if(j.nativeEvent.defaultPrevented)return;const z=j.target.checked;T(z),b&&b(j,z)};let R=a;D&&typeof R>"u"&&(R=D.disabled);const _=P==="checkbox"||P==="radio",O=x({},t,{checked:E,disabled:R,disableFocusRipple:c,edge:u}),F=J3(O);return v.jsxs(eV,x({component:"span",className:le(F.root,i),centerRipple:!0,focusRipple:!c,disabled:R,tabIndex:null,role:void 0,onFocus:$,onBlur:L,ownerState:O,ref:n},I,{children:[v.jsx(tV,x({autoFocus:r,checked:o,defaultChecked:l,className:F.input,disabled:R,id:_?f:void 0,name:m,onChange:A,readOnly:w,ref:g,required:S,ownerState:O,tabIndex:k,type:P},P==="checkbox"&&M===void 0?{}:{value:M},h)),E?s:d]}))}),rV=Qe(v.jsx("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),oV=Qe(v.jsx("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),sV=Qe(v.jsx("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");function iV(e){return ze("MuiCheckbox",e)}const uv=Ne("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]),lV=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],aV=e=>{const{classes:t,indeterminate:n,color:r,size:o}=e,s={root:["root",n&&"indeterminate",`color${oe(r)}`,`size${oe(o)}`]},i=ve(s,iV,t);return x({},t,i)},cV=re(nV,{shouldForwardProp:e=>Pr(e)||e==="classes",name:"MuiCheckbox",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.indeterminate&&t.indeterminate,t[`size${oe(n.size)}`],n.color!=="default"&&t[`color${oe(n.color)}`]]}})(({theme:e,ownerState:t})=>x({color:(e.vars||e).palette.text.secondary},!t.disableRipple&&{"&:hover":{backgroundColor:e.vars?`rgba(${t.color==="default"?e.vars.palette.action.activeChannel:e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:bt(t.color==="default"?e.palette.action.active:e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},t.color!=="default"&&{[`&.${uv.checked}, &.${uv.indeterminate}`]:{color:(e.vars||e).palette[t.color].main},[`&.${uv.disabled}`]:{color:(e.vars||e).palette.action.disabled}})),uV=v.jsx(oV,{}),dV=v.jsx(rV,{}),fV=v.jsx(sV,{}),xC=p.forwardRef(function(t,n){var r,o;const s=We({props:t,name:"MuiCheckbox"}),{checkedIcon:i=uV,color:l="primary",icon:a=dV,indeterminate:c=!1,indeterminateIcon:u=fV,inputProps:d,size:f="medium",className:h}=s,g=te(s,lV),m=c?u:a,C=c?u:i,b=x({},s,{color:l,indeterminate:c,size:f}),y=aV(b);return v.jsx(cV,x({type:"checkbox",inputProps:x({"data-indeterminate":c},d),icon:p.cloneElement(m,{fontSize:(r=m.props.fontSize)!=null?r:f}),checkedIcon:p.cloneElement(C,{fontSize:(o=C.props.fontSize)!=null?o:f}),ownerState:b,ref:n,className:le(y.root,h)},g,{classes:y}))});function hV(e){return ze("MuiCircularProgress",e)}Ne("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]);const pV=["className","color","disableShrink","size","style","thickness","value","variant"];let Ym=e=>e,Sk,kk,Pk,Mk;const ti=44,gV=jo(Sk||(Sk=Ym`
+ 0% {
+ transform: rotate(0deg);
+ }
+
+ 100% {
+ transform: rotate(360deg);
+ }
+`)),mV=jo(kk||(kk=Ym`
+ 0% {
+ stroke-dasharray: 1px, 200px;
+ stroke-dashoffset: 0;
+ }
+
+ 50% {
+ stroke-dasharray: 100px, 200px;
+ stroke-dashoffset: -15px;
+ }
+
+ 100% {
+ stroke-dasharray: 100px, 200px;
+ stroke-dashoffset: -125px;
+ }
+`)),bV=e=>{const{classes:t,variant:n,color:r,disableShrink:o}=e,s={root:["root",n,`color${oe(r)}`],svg:["svg"],circle:["circle",`circle${oe(n)}`,o&&"circleDisableShrink"]};return ve(s,hV,t)},vV=re("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`color${oe(n.color)}`]]}})(({ownerState:e,theme:t})=>x({display:"inline-block"},e.variant==="determinate"&&{transition:t.transitions.create("transform")},e.color!=="inherit"&&{color:(t.vars||t).palette[e.color].main}),({ownerState:e})=>e.variant==="indeterminate"&&zs(Pk||(Pk=Ym`
+ animation: ${0} 1.4s linear infinite;
+ `),gV)),yV=re("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:(e,t)=>t.svg})({display:"block"}),xV=re("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.circle,t[`circle${oe(n.variant)}`],n.disableShrink&&t.circleDisableShrink]}})(({ownerState:e,theme:t})=>x({stroke:"currentColor"},e.variant==="determinate"&&{transition:t.transitions.create("stroke-dashoffset")},e.variant==="indeterminate"&&{strokeDasharray:"80px, 200px",strokeDashoffset:0}),({ownerState:e})=>e.variant==="indeterminate"&&!e.disableShrink&&zs(Mk||(Mk=Ym`
+ animation: ${0} 1.4s ease-in-out infinite;
+ `),mV)),CV=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiCircularProgress"}),{className:o,color:s="primary",disableShrink:i=!1,size:l=40,style:a,thickness:c=3.6,value:u=0,variant:d="indeterminate"}=r,f=te(r,pV),h=x({},r,{color:s,disableShrink:i,size:l,thickness:c,value:u,variant:d}),g=bV(h),m={},C={},b={};if(d==="determinate"){const y=2*Math.PI*((ti-c)/2);m.strokeDasharray=y.toFixed(3),b["aria-valuenow"]=Math.round(u),m.strokeDashoffset=`${((100-u)/100*y).toFixed(3)}px`,C.transform="rotate(-90deg)"}return v.jsx(vV,x({className:le(g.root,o),style:x({width:l,height:l},C,a),ownerState:h,ref:n,role:"progressbar"},b,f,{children:v.jsx(yV,{className:g.svg,ownerState:h,viewBox:`${ti/2} ${ti/2} ${ti} ${ti}`,children:v.jsx(xV,{className:g.circle,style:m,ownerState:h,cx:ti,cy:ti,r:(ti-c)/2,fill:"none",strokeWidth:c})})}))});function Ik(e){return e.substring(2).toLowerCase()}function wV(e,t){return t.documentElement.clientWidth(setTimeout(()=>{a.current=!0},0),()=>{a.current=!1}),[]);const u=vt(ra(t),l),d=Ke(g=>{const m=c.current;c.current=!1;const C=Ft(l.current);if(!a.current||!l.current||"clientX"in g&&wV(g,C))return;if(i.current){i.current=!1;return}let b;g.composedPath?b=g.composedPath().indexOf(l.current)>-1:b=!C.documentElement.contains(g.target)||l.current.contains(g.target),!b&&(n||!m)&&o(g)}),f=g=>m=>{c.current=!0;const C=t.props[g];C&&C(m)},h={ref:u};return s!==!1&&(h[s]=f(s)),p.useEffect(()=>{if(s!==!1){const g=Ik(s),m=Ft(l.current),C=()=>{i.current=!0};return m.addEventListener(g,d),m.addEventListener("touchmove",C),()=>{m.removeEventListener(g,d),m.removeEventListener("touchmove",C)}}},[d,s]),r!==!1&&(h[r]=f(r)),p.useEffect(()=>{if(r!==!1){const g=Ik(r),m=Ft(l.current);return m.addEventListener(g,d),()=>{m.removeEventListener(g,d)}}},[d,r]),v.jsx(p.Fragment,{children:p.cloneElement(t,h)})}const SV=WN({createStyledComponent:re("div",{name:"MuiContainer",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`maxWidth${oe(String(n.maxWidth))}`],n.fixed&&t.fixed,n.disableGutters&&t.disableGutters]}}),useThemeProps:e=>We({props:e,name:"MuiContainer"})});function kV(e){const t=Ft(e);return t.body===e?Do(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}function Sd(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}function Ek(e){return parseInt(Do(e).getComputedStyle(e).paddingRight,10)||0}function PV(e){const n=["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].indexOf(e.tagName)!==-1,r=e.tagName==="INPUT"&&e.getAttribute("type")==="hidden";return n||r}function _k(e,t,n,r,o){const s=[t,n,...r];[].forEach.call(e.children,i=>{const l=s.indexOf(i)===-1,a=!PV(i);l&&a&&Sd(i,o)})}function dv(e,t){let n=-1;return e.some((r,o)=>t(r)?(n=o,!0):!1),n}function MV(e,t){const n=[],r=e.container;if(!t.disableScrollLock){if(kV(r)){const i=iR(Ft(r));n.push({value:r.style.paddingRight,property:"padding-right",el:r}),r.style.paddingRight=`${Ek(r)+i}px`;const l=Ft(r).querySelectorAll(".mui-fixed");[].forEach.call(l,a=>{n.push({value:a.style.paddingRight,property:"padding-right",el:a}),a.style.paddingRight=`${Ek(a)+i}px`})}let s;if(r.parentNode instanceof DocumentFragment)s=Ft(r).body;else{const i=r.parentElement,l=Do(r);s=(i==null?void 0:i.nodeName)==="HTML"&&l.getComputedStyle(i).overflowY==="scroll"?i:r}n.push({value:s.style.overflow,property:"overflow",el:s},{value:s.style.overflowX,property:"overflow-x",el:s},{value:s.style.overflowY,property:"overflow-y",el:s}),s.style.overflow="hidden"}return()=>{n.forEach(({value:s,el:i,property:l})=>{s?i.style.setProperty(l,s):i.style.removeProperty(l)})}}function IV(e){const t=[];return[].forEach.call(e.children,n=>{n.getAttribute("aria-hidden")==="true"&&t.push(n)}),t}class EV{constructor(){this.containers=void 0,this.modals=void 0,this.modals=[],this.containers=[]}add(t,n){let r=this.modals.indexOf(t);if(r!==-1)return r;r=this.modals.length,this.modals.push(t),t.modalRef&&Sd(t.modalRef,!1);const o=IV(n);_k(n,t.mount,t.modalRef,o,!0);const s=dv(this.containers,i=>i.container===n);return s!==-1?(this.containers[s].modals.push(t),r):(this.containers.push({modals:[t],container:n,restore:null,hiddenSiblings:o}),r)}mount(t,n){const r=dv(this.containers,s=>s.modals.indexOf(t)!==-1),o=this.containers[r];o.restore||(o.restore=MV(o,n))}remove(t,n=!0){const r=this.modals.indexOf(t);if(r===-1)return r;const o=dv(this.containers,i=>i.modals.indexOf(t)!==-1),s=this.containers[o];if(s.modals.splice(s.modals.indexOf(t),1),this.modals.splice(r,1),s.modals.length===0)s.restore&&s.restore(),t.modalRef&&Sd(t.modalRef,n),_k(s.container,t.mount,t.modalRef,s.hiddenSiblings,!1),this.containers.splice(o,1);else{const i=s.modals[s.modals.length-1];i.modalRef&&Sd(i.modalRef,!1)}return r}isTopModal(t){return this.modals.length>0&&this.modals[this.modals.length-1]===t}}const _V=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'].join(",");function TV(e){const t=parseInt(e.getAttribute("tabindex")||"",10);return Number.isNaN(t)?e.contentEditable==="true"||(e.nodeName==="AUDIO"||e.nodeName==="VIDEO"||e.nodeName==="DETAILS")&&e.getAttribute("tabindex")===null?0:e.tabIndex:t}function RV(e){if(e.tagName!=="INPUT"||e.type!=="radio"||!e.name)return!1;const t=r=>e.ownerDocument.querySelector(`input[type="radio"]${r}`);let n=t(`[name="${e.name}"]:checked`);return n||(n=t(`[name="${e.name}"]`)),n!==e}function OV(e){return!(e.disabled||e.tagName==="INPUT"&&e.type==="hidden"||RV(e))}function $V(e){const t=[],n=[];return Array.from(e.querySelectorAll(_V)).forEach((r,o)=>{const s=TV(r);s===-1||!OV(r)||(s===0?t.push(r):n.push({documentOrder:o,tabIndex:s,node:r}))}),n.sort((r,o)=>r.tabIndex===o.tabIndex?r.documentOrder-o.documentOrder:r.tabIndex-o.tabIndex).map(r=>r.node).concat(t)}function FV(){return!0}function qR(e){const{children:t,disableAutoFocus:n=!1,disableEnforceFocus:r=!1,disableRestoreFocus:o=!1,getTabbable:s=$V,isEnabled:i=FV,open:l}=e,a=p.useRef(!1),c=p.useRef(null),u=p.useRef(null),d=p.useRef(null),f=p.useRef(null),h=p.useRef(!1),g=p.useRef(null),m=vt(ra(t),g),C=p.useRef(null);p.useEffect(()=>{!l||!g.current||(h.current=!n)},[n,l]),p.useEffect(()=>{if(!l||!g.current)return;const w=Ft(g.current);return g.current.contains(w.activeElement)||(g.current.hasAttribute("tabIndex")||g.current.setAttribute("tabIndex","-1"),h.current&&g.current.focus()),()=>{o||(d.current&&d.current.focus&&(a.current=!0,d.current.focus()),d.current=null)}},[l]),p.useEffect(()=>{if(!l||!g.current)return;const w=Ft(g.current),S=M=>{C.current=M,!(r||!i()||M.key!=="Tab")&&w.activeElement===g.current&&M.shiftKey&&(a.current=!0,u.current&&u.current.focus())},k=()=>{const M=g.current;if(M===null)return;if(!w.hasFocus()||!i()||a.current){a.current=!1;return}if(M.contains(w.activeElement)||r&&w.activeElement!==c.current&&w.activeElement!==u.current)return;if(w.activeElement!==f.current)f.current=null;else if(f.current!==null)return;if(!h.current)return;let I=[];if((w.activeElement===c.current||w.activeElement===u.current)&&(I=s(g.current)),I.length>0){var E,T;const D=!!((E=C.current)!=null&&E.shiftKey&&((T=C.current)==null?void 0:T.key)==="Tab"),$=I[0],L=I[I.length-1];typeof $!="string"&&typeof L!="string"&&(D?L.focus():$.focus())}else M.focus()};w.addEventListener("focusin",k),w.addEventListener("keydown",S,!0);const P=setInterval(()=>{w.activeElement&&w.activeElement.tagName==="BODY"&&k()},50);return()=>{clearInterval(P),w.removeEventListener("focusin",k),w.removeEventListener("keydown",S,!0)}},[n,r,o,i,l,s]);const b=w=>{d.current===null&&(d.current=w.relatedTarget),h.current=!0,f.current=w.target;const S=t.props.onFocus;S&&S(w)},y=w=>{d.current===null&&(d.current=w.relatedTarget),h.current=!0};return v.jsxs(p.Fragment,{children:[v.jsx("div",{tabIndex:l?0:-1,onFocus:y,ref:c,"data-testid":"sentinelStart"}),p.cloneElement(t,{ref:m,onFocus:b}),v.jsx("div",{tabIndex:l?0:-1,onFocus:y,ref:u,"data-testid":"sentinelEnd"})]})}function LV(e){return typeof e=="function"?e():e}function DV(e){return e?e.props.hasOwnProperty("in"):!1}const AV=new EV;function jV(e){const{container:t,disableEscapeKeyDown:n=!1,disableScrollLock:r=!1,manager:o=AV,closeAfterTransition:s=!1,onTransitionEnter:i,onTransitionExited:l,children:a,onClose:c,open:u,rootRef:d}=e,f=p.useRef({}),h=p.useRef(null),g=p.useRef(null),m=vt(g,d),[C,b]=p.useState(!u),y=DV(a);let w=!0;(e["aria-hidden"]==="false"||e["aria-hidden"]===!1)&&(w=!1);const S=()=>Ft(h.current),k=()=>(f.current.modalRef=g.current,f.current.mount=h.current,f.current),P=()=>{o.mount(k(),{disableScrollLock:r}),g.current&&(g.current.scrollTop=0)},M=Ke(()=>{const _=LV(t)||S().body;o.add(k(),_),g.current&&P()}),I=p.useCallback(()=>o.isTopModal(k()),[o]),E=Ke(_=>{h.current=_,_&&(u&&I()?P():g.current&&Sd(g.current,w))}),T=p.useCallback(()=>{o.remove(k(),w)},[w,o]);p.useEffect(()=>()=>{T()},[T]),p.useEffect(()=>{u?M():(!y||!s)&&T()},[u,T,y,s,M]);const D=_=>O=>{var F;(F=_.onKeyDown)==null||F.call(_,O),!(O.key!=="Escape"||O.which===229||!I())&&(n||(O.stopPropagation(),c&&c(O,"escapeKeyDown")))},$=_=>O=>{var F;(F=_.onClick)==null||F.call(_,O),O.target===O.currentTarget&&c&&c(O,"backdropClick")};return{getRootProps:(_={})=>{const O=sg(e);delete O.onTransitionEnter,delete O.onTransitionExited;const F=x({},O,_);return x({role:"presentation"},F,{onKeyDown:D(F),ref:m})},getBackdropProps:(_={})=>{const O=_;return x({"aria-hidden":!0},O,{onClick:$(O),open:u})},getTransitionProps:()=>{const _=()=>{b(!1),i&&i()},O=()=>{b(!0),l&&l(),s&&T()};return{onEnter:tx(_,a==null?void 0:a.props.onEnter),onExited:tx(O,a==null?void 0:a.props.onExited)}},rootRef:m,portalRef:E,isTopModal:I,exited:C,hasTransition:y}}function zV(e){return ze("MuiModal",e)}Ne("MuiModal",["root","hidden","backdrop"]);const NV=["BackdropComponent","BackdropProps","classes","className","closeAfterTransition","children","container","component","components","componentsProps","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","onBackdropClick","onClose","onTransitionEnter","onTransitionExited","open","slotProps","slots","theme"],HV=e=>{const{open:t,exited:n,classes:r}=e;return ve({root:["root",!t&&n&&"hidden"],backdrop:["backdrop"]},zV,r)},BV=re("div",{name:"MuiModal",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.open&&n.exited&&t.hidden]}})(({theme:e,ownerState:t})=>x({position:"fixed",zIndex:(e.vars||e).zIndex.modal,right:0,bottom:0,top:0,left:0},!t.open&&t.exited&&{visibility:"hidden"})),VV=re(UR,{name:"MuiModal",slot:"Backdrop",overridesResolver:(e,t)=>t.backdrop})({zIndex:-1}),XR=p.forwardRef(function(t,n){var r,o,s,i,l,a;const c=We({name:"MuiModal",props:t}),{BackdropComponent:u=VV,BackdropProps:d,className:f,closeAfterTransition:h=!1,children:g,container:m,component:C,components:b={},componentsProps:y={},disableAutoFocus:w=!1,disableEnforceFocus:S=!1,disableEscapeKeyDown:k=!1,disablePortal:P=!1,disableRestoreFocus:M=!1,disableScrollLock:I=!1,hideBackdrop:E=!1,keepMounted:T=!1,onBackdropClick:D,open:$,slotProps:L,slots:A}=c,R=te(c,NV),_=x({},c,{closeAfterTransition:h,disableAutoFocus:w,disableEnforceFocus:S,disableEscapeKeyDown:k,disablePortal:P,disableRestoreFocus:M,disableScrollLock:I,hideBackdrop:E,keepMounted:T}),{getRootProps:O,getBackdropProps:F,getTransitionProps:j,portalRef:z,isTopModal:H,exited:B,hasTransition:G}=jV(x({},_,{rootRef:n})),V=x({},_,{exited:B}),Z=HV(V),Q={};if(g.props.tabIndex===void 0&&(Q.tabIndex="-1"),G){const{onEnter:q,onExited:me}=j();Q.onEnter=q,Q.onExited=me}const U=(r=(o=A==null?void 0:A.root)!=null?o:b.Root)!=null?r:BV,K=(s=(i=A==null?void 0:A.backdrop)!=null?i:b.Backdrop)!=null?s:u,ee=(l=L==null?void 0:L.root)!=null?l:y.root,de=(a=L==null?void 0:L.backdrop)!=null?a:y.backdrop,se=kr({elementType:U,externalSlotProps:ee,externalForwardedProps:R,getSlotProps:O,additionalProps:{ref:n,as:C},ownerState:V,className:le(f,ee==null?void 0:ee.className,Z==null?void 0:Z.root,!V.open&&V.exited&&(Z==null?void 0:Z.hidden))}),ge=kr({elementType:K,externalSlotProps:de,additionalProps:d,getSlotProps:q=>F(x({},q,{onClick:me=>{D&&D(me),q!=null&&q.onClick&&q.onClick(me)}})),className:le(de==null?void 0:de.className,d==null?void 0:d.className,Z==null?void 0:Z.backdrop),ownerState:V});return!T&&!$&&(!G||B)?null:v.jsx(BR,{ref:z,container:m,disablePortal:P,children:v.jsxs(U,x({},se,{children:[!E&&u?v.jsx(K,x({},ge)):null,v.jsx(qR,{disableEnforceFocus:S,disableAutoFocus:w,disableRestoreFocus:M,isEnabled:H,open:$,children:p.cloneElement(g,Q)})]}))})});function WV(e){return ze("MuiDialog",e)}const fv=Ne("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]),YR=p.createContext({}),GV=["aria-describedby","aria-labelledby","BackdropComponent","BackdropProps","children","className","disableEscapeKeyDown","fullScreen","fullWidth","maxWidth","onBackdropClick","onClick","onClose","open","PaperComponent","PaperProps","scroll","TransitionComponent","transitionDuration","TransitionProps"],UV=re(UR,{name:"MuiDialog",slot:"Backdrop",overrides:(e,t)=>t.backdrop})({zIndex:-1}),KV=e=>{const{classes:t,scroll:n,maxWidth:r,fullWidth:o,fullScreen:s}=e,i={root:["root"],container:["container",`scroll${oe(n)}`],paper:["paper",`paperScroll${oe(n)}`,`paperWidth${oe(String(r))}`,o&&"paperFullWidth",s&&"paperFullScreen"]};return ve(i,WV,t)},qV=re(XR,{name:"MuiDialog",slot:"Root",overridesResolver:(e,t)=>t.root})({"@media print":{position:"absolute !important"}}),XV=re("div",{name:"MuiDialog",slot:"Container",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.container,t[`scroll${oe(n.scroll)}`]]}})(({ownerState:e})=>x({height:"100%","@media print":{height:"auto"},outline:0},e.scroll==="paper"&&{display:"flex",justifyContent:"center",alignItems:"center"},e.scroll==="body"&&{overflowY:"auto",overflowX:"hidden",textAlign:"center","&::after":{content:'""',display:"inline-block",verticalAlign:"middle",height:"100%",width:"0"}})),YV=re(Gs,{name:"MuiDialog",slot:"Paper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.paper,t[`scrollPaper${oe(n.scroll)}`],t[`paperWidth${oe(String(n.maxWidth))}`],n.fullWidth&&t.paperFullWidth,n.fullScreen&&t.paperFullScreen]}})(({theme:e,ownerState:t})=>x({margin:32,position:"relative",overflowY:"auto","@media print":{overflowY:"visible",boxShadow:"none"}},t.scroll==="paper"&&{display:"flex",flexDirection:"column",maxHeight:"calc(100% - 64px)"},t.scroll==="body"&&{display:"inline-block",verticalAlign:"middle",textAlign:"left"},!t.maxWidth&&{maxWidth:"calc(100% - 64px)"},t.maxWidth==="xs"&&{maxWidth:e.breakpoints.unit==="px"?Math.max(e.breakpoints.values.xs,444):`max(${e.breakpoints.values.xs}${e.breakpoints.unit}, 444px)`,[`&.${fv.paperScrollBody}`]:{[e.breakpoints.down(Math.max(e.breakpoints.values.xs,444)+32*2)]:{maxWidth:"calc(100% - 64px)"}}},t.maxWidth&&t.maxWidth!=="xs"&&{maxWidth:`${e.breakpoints.values[t.maxWidth]}${e.breakpoints.unit}`,[`&.${fv.paperScrollBody}`]:{[e.breakpoints.down(e.breakpoints.values[t.maxWidth]+32*2)]:{maxWidth:"calc(100% - 64px)"}}},t.fullWidth&&{width:"calc(100% - 64px)"},t.fullScreen&&{margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0,[`&.${fv.paperScrollBody}`]:{margin:0,maxWidth:"100%"}})),nu=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiDialog"}),o=tl(),s={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{"aria-describedby":i,"aria-labelledby":l,BackdropComponent:a,BackdropProps:c,children:u,className:d,disableEscapeKeyDown:f=!1,fullScreen:h=!1,fullWidth:g=!1,maxWidth:m="sm",onBackdropClick:C,onClick:b,onClose:y,open:w,PaperComponent:S=Gs,PaperProps:k={},scroll:P="paper",TransitionComponent:M=GR,transitionDuration:I=s,TransitionProps:E}=r,T=te(r,GV),D=x({},r,{disableEscapeKeyDown:f,fullScreen:h,fullWidth:g,maxWidth:m,scroll:P}),$=KV(D),L=p.useRef(),A=F=>{L.current=F.target===F.currentTarget},R=F=>{b&&b(F),L.current&&(L.current=null,C&&C(F),y&&y(F,"backdropClick"))},_=gt(l),O=p.useMemo(()=>({titleId:_}),[_]);return v.jsx(qV,x({className:le($.root,d),closeAfterTransition:!0,components:{Backdrop:UV},componentsProps:{backdrop:x({transitionDuration:I,as:a},c)},disableEscapeKeyDown:f,onClose:y,open:w,ref:n,onClick:R,ownerState:D},T,{children:v.jsx(M,x({appear:!0,in:w,timeout:I,role:"presentation"},E,{children:v.jsx(XV,{className:le($.container),onMouseDown:A,ownerState:D,children:v.jsx(YV,x({as:S,elevation:24,role:"dialog","aria-describedby":i,"aria-labelledby":_},k,{className:le($.paper,k.className),ownerState:D,children:v.jsx(YR.Provider,{value:O,children:u})}))})}))}))});function QV(e){return ze("MuiDialogActions",e)}Ne("MuiDialogActions",["root","spacing"]);const ZV=["className","disableSpacing"],JV=e=>{const{classes:t,disableSpacing:n}=e;return ve({root:["root",!n&&"spacing"]},QV,t)},eW=re("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableSpacing&&t.spacing]}})(({ownerState:e})=>x({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!e.disableSpacing&&{"& > :not(style) ~ :not(style)":{marginLeft:8}})),ru=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiDialogActions"}),{className:o,disableSpacing:s=!1}=r,i=te(r,ZV),l=x({},r,{disableSpacing:s}),a=JV(l);return v.jsx(eW,x({className:le(a.root,o),ownerState:l,ref:n},i))});function tW(e){return ze("MuiDialogContent",e)}Ne("MuiDialogContent",["root","dividers"]);function nW(e){return ze("MuiDialogTitle",e)}const rW=Ne("MuiDialogTitle",["root"]),oW=["className","dividers"],sW=e=>{const{classes:t,dividers:n}=e;return ve({root:["root",n&&"dividers"]},tW,t)},iW=re("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.dividers&&t.dividers]}})(({theme:e,ownerState:t})=>x({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px"},t.dividers?{padding:"16px 24px",borderTop:`1px solid ${(e.vars||e).palette.divider}`,borderBottom:`1px solid ${(e.vars||e).palette.divider}`}:{[`.${rW.root} + &`]:{paddingTop:0}})),ou=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiDialogContent"}),{className:o,dividers:s=!1}=r,i=te(r,oW),l=x({},r,{dividers:s}),a=sW(l);return v.jsx(iW,x({className:le(a.root,o),ownerState:l,ref:n},i))}),lW=["className","id"],aW=e=>{const{classes:t}=e;return ve({root:["root"]},nW,t)},cW=re(ot,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:"16px 24px",flex:"0 0 auto"}),su=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiDialogTitle"}),{className:o,id:s}=r,i=te(r,lW),l=r,a=aW(l),{titleId:c=s}=p.useContext(YR);return v.jsx(cW,x({component:"h2",className:le(a.root,o),ownerState:l,ref:n,variant:"h6",id:s??c},i))});function uW(e){return ze("MuiDivider",e)}const Tk=Ne("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]),dW=["absolute","children","className","component","flexItem","light","orientation","role","textAlign","variant"],fW=e=>{const{absolute:t,children:n,classes:r,flexItem:o,light:s,orientation:i,textAlign:l,variant:a}=e;return ve({root:["root",t&&"absolute",a,s&&"light",i==="vertical"&&"vertical",o&&"flexItem",n&&"withChildren",n&&i==="vertical"&&"withChildrenVertical",l==="right"&&i!=="vertical"&&"textAlignRight",l==="left"&&i!=="vertical"&&"textAlignLeft"],wrapper:["wrapper",i==="vertical"&&"wrapperVertical"]},uW,r)},hW=re("div",{name:"MuiDivider",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.absolute&&t.absolute,t[n.variant],n.light&&t.light,n.orientation==="vertical"&&t.vertical,n.flexItem&&t.flexItem,n.children&&t.withChildren,n.children&&n.orientation==="vertical"&&t.withChildrenVertical,n.textAlign==="right"&&n.orientation!=="vertical"&&t.textAlignRight,n.textAlign==="left"&&n.orientation!=="vertical"&&t.textAlignLeft]}})(({theme:e,ownerState:t})=>x({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(e.vars||e).palette.divider,borderBottomWidth:"thin"},t.absolute&&{position:"absolute",bottom:0,left:0,width:"100%"},t.light&&{borderColor:e.vars?`rgba(${e.vars.palette.dividerChannel} / 0.08)`:bt(e.palette.divider,.08)},t.variant==="inset"&&{marginLeft:72},t.variant==="middle"&&t.orientation==="horizontal"&&{marginLeft:e.spacing(2),marginRight:e.spacing(2)},t.variant==="middle"&&t.orientation==="vertical"&&{marginTop:e.spacing(1),marginBottom:e.spacing(1)},t.orientation==="vertical"&&{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"},t.flexItem&&{alignSelf:"stretch",height:"auto"}),({ownerState:e})=>x({},e.children&&{display:"flex",whiteSpace:"nowrap",textAlign:"center",border:0,borderTopStyle:"solid",borderLeftStyle:"solid","&::before, &::after":{content:'""',alignSelf:"center"}}),({theme:e,ownerState:t})=>x({},t.children&&t.orientation!=="vertical"&&{"&::before, &::after":{width:"100%",borderTop:`thin solid ${(e.vars||e).palette.divider}`,borderTopStyle:"inherit"}}),({theme:e,ownerState:t})=>x({},t.children&&t.orientation==="vertical"&&{flexDirection:"column","&::before, &::after":{height:"100%",borderLeft:`thin solid ${(e.vars||e).palette.divider}`,borderLeftStyle:"inherit"}}),({ownerState:e})=>x({},e.textAlign==="right"&&e.orientation!=="vertical"&&{"&::before":{width:"90%"},"&::after":{width:"10%"}},e.textAlign==="left"&&e.orientation!=="vertical"&&{"&::before":{width:"10%"},"&::after":{width:"90%"}})),pW=re("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.wrapper,n.orientation==="vertical"&&t.wrapperVertical]}})(({theme:e,ownerState:t})=>x({display:"inline-block",paddingLeft:`calc(${e.spacing(1)} * 1.2)`,paddingRight:`calc(${e.spacing(1)} * 1.2)`},t.orientation==="vertical"&&{paddingTop:`calc(${e.spacing(1)} * 1.2)`,paddingBottom:`calc(${e.spacing(1)} * 1.2)`})),wC=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiDivider"}),{absolute:o=!1,children:s,className:i,component:l=s?"div":"hr",flexItem:a=!1,light:c=!1,orientation:u="horizontal",role:d=l!=="hr"?"separator":void 0,textAlign:f="center",variant:h="fullWidth"}=r,g=te(r,dW),m=x({},r,{absolute:o,component:l,flexItem:a,light:c,orientation:u,role:d,textAlign:f,variant:h}),C=fW(m);return v.jsx(hW,x({as:l,className:le(C.root,i),role:d,ref:n,ownerState:m},g,{children:s?v.jsx(pW,{className:C.wrapper,ownerState:m,children:s}):null}))});wC.muiSkipListHighlight=!0;const gW=["disableUnderline","components","componentsProps","fullWidth","hiddenLabel","inputComponent","multiline","slotProps","slots","type"],mW=e=>{const{classes:t,disableUnderline:n}=e,o=ve({root:["root",!n&&"underline"],input:["input"]},u3,t);return x({},t,o)},bW=re(qm,{shouldForwardProp:e=>Pr(e)||e==="classes",name:"MuiFilledInput",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[...Um(e,t),!n.disableUnderline&&t.underline]}})(({theme:e,ownerState:t})=>{var n;const r=e.palette.mode==="light",o=r?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)",s=r?"rgba(0, 0, 0, 0.06)":"rgba(255, 255, 255, 0.09)",i=r?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.13)",l=r?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)";return x({position:"relative",backgroundColor:e.vars?e.vars.palette.FilledInput.bg:s,borderTopLeftRadius:(e.vars||e).shape.borderRadius,borderTopRightRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),"&:hover":{backgroundColor:e.vars?e.vars.palette.FilledInput.hoverBg:i,"@media (hover: none)":{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:s}},[`&.${Tr.focused}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:s},[`&.${Tr.disabled}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.disabledBg:l}},!t.disableUnderline&&{"&::after":{borderBottom:`2px solid ${(n=(e.vars||e).palette[t.color||"primary"])==null?void 0:n.main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Tr.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Tr.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`:o}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Tr.disabled}, .${Tr.error}):before`]:{borderBottom:`1px solid ${(e.vars||e).palette.text.primary}`},[`&.${Tr.disabled}:before`]:{borderBottomStyle:"dotted"}},t.startAdornment&&{paddingLeft:12},t.endAdornment&&{paddingRight:12},t.multiline&&x({padding:"25px 12px 8px"},t.size==="small"&&{paddingTop:21,paddingBottom:4},t.hiddenLabel&&{paddingTop:16,paddingBottom:17},t.hiddenLabel&&t.size==="small"&&{paddingTop:8,paddingBottom:9}))}),vW=re(Xm,{name:"MuiFilledInput",slot:"Input",overridesResolver:Km})(({theme:e,ownerState:t})=>x({paddingTop:25,paddingRight:12,paddingBottom:8,paddingLeft:12},!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"}},e.vars&&{"&:-webkit-autofill":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},t.size==="small"&&{paddingTop:21,paddingBottom:4},t.hiddenLabel&&{paddingTop:16,paddingBottom:17},t.startAdornment&&{paddingLeft:0},t.endAdornment&&{paddingRight:0},t.hiddenLabel&&t.size==="small"&&{paddingTop:8,paddingBottom:9},t.multiline&&{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0})),SC=p.forwardRef(function(t,n){var r,o,s,i;const l=We({props:t,name:"MuiFilledInput"}),{components:a={},componentsProps:c,fullWidth:u=!1,inputComponent:d="input",multiline:f=!1,slotProps:h,slots:g={},type:m="text"}=l,C=te(l,gW),b=x({},l,{fullWidth:u,inputComponent:d,multiline:f,type:m}),y=mW(l),w={root:{ownerState:b},input:{ownerState:b}},S=h??c?tr(w,h??c):w,k=(r=(o=g.root)!=null?o:a.Root)!=null?r:bW,P=(s=(i=g.input)!=null?i:a.Input)!=null?s:vW;return v.jsx(tu,x({slots:{root:k,input:P},componentsProps:S,fullWidth:u,inputComponent:d,multiline:f,ref:n,type:m},C,{classes:y}))});SC.muiName="Input";function yW(e){return ze("MuiFormControl",e)}Ne("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]);const xW=["children","className","color","component","disabled","error","focused","fullWidth","hiddenLabel","margin","required","size","variant"],CW=e=>{const{classes:t,margin:n,fullWidth:r}=e,o={root:["root",n!=="none"&&`margin${oe(n)}`,r&&"fullWidth"]};return ve(o,yW,t)},wW=re("div",{name:"MuiFormControl",slot:"Root",overridesResolver:({ownerState:e},t)=>x({},t.root,t[`margin${oe(e.margin)}`],e.fullWidth&&t.fullWidth)})(({ownerState:e})=>x({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top"},e.margin==="normal"&&{marginTop:16,marginBottom:8},e.margin==="dense"&&{marginTop:8,marginBottom:4},e.fullWidth&&{width:"100%"})),Qm=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiFormControl"}),{children:o,className:s,color:i="primary",component:l="div",disabled:a=!1,error:c=!1,focused:u,fullWidth:d=!1,hiddenLabel:f=!1,margin:h="none",required:g=!1,size:m="medium",variant:C="outlined"}=r,b=te(r,xW),y=x({},r,{color:i,component:l,disabled:a,error:c,fullWidth:d,hiddenLabel:f,margin:h,required:g,size:m,variant:C}),w=CW(y),[S,k]=p.useState(()=>{let L=!1;return o&&p.Children.forEach(o,A=>{if(!fp(A,["Input","Select"]))return;const R=fp(A,["Select"])?A.props.input:A;R&&r3(R.props)&&(L=!0)}),L}),[P,M]=p.useState(()=>{let L=!1;return o&&p.Children.forEach(o,A=>{fp(A,["Input","Select"])&&(dg(A.props,!0)||dg(A.props.inputProps,!0))&&(L=!0)}),L}),[I,E]=p.useState(!1);a&&I&&E(!1);const T=u!==void 0&&!a?u:I;let D;const $=p.useMemo(()=>({adornedStart:S,setAdornedStart:k,color:i,disabled:a,error:c,filled:P,focused:T,fullWidth:d,hiddenLabel:f,size:m,onBlur:()=>{E(!1)},onEmpty:()=>{M(!1)},onFilled:()=>{M(!0)},onFocus:()=>{E(!0)},registerEffect:D,required:g,variant:C}),[S,i,a,c,P,T,d,f,D,g,m,C]);return v.jsx(Gm.Provider,{value:$,children:v.jsx(wW,x({as:l,ownerState:y,className:le(w.root,s),ref:n},b,{children:o}))})}),QR=ZN({createStyledComponent:re("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root}),useThemeProps:e=>We({props:e,name:"MuiStack"})});function SW(e){return ze("MuiFormControlLabel",e)}const td=Ne("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error","required","asterisk"]),kW=["checked","className","componentsProps","control","disabled","disableTypography","inputRef","label","labelPlacement","name","onChange","required","slotProps","value"],PW=e=>{const{classes:t,disabled:n,labelPlacement:r,error:o,required:s}=e,i={root:["root",n&&"disabled",`labelPlacement${oe(r)}`,o&&"error",s&&"required"],label:["label",n&&"disabled"],asterisk:["asterisk",o&&"error"]};return ve(i,SW,t)},MW=re("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${td.label}`]:t.label},t.root,t[`labelPlacement${oe(n.labelPlacement)}`]]}})(({theme:e,ownerState:t})=>x({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${td.disabled}`]:{cursor:"default"}},t.labelPlacement==="start"&&{flexDirection:"row-reverse",marginLeft:16,marginRight:-11},t.labelPlacement==="top"&&{flexDirection:"column-reverse",marginLeft:16},t.labelPlacement==="bottom"&&{flexDirection:"column",marginLeft:16},{[`& .${td.label}`]:{[`&.${td.disabled}`]:{color:(e.vars||e).palette.text.disabled}}})),IW=re("span",{name:"MuiFormControlLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})(({theme:e})=>({[`&.${td.error}`]:{color:(e.vars||e).palette.error.main}})),fg=p.forwardRef(function(t,n){var r,o;const s=We({props:t,name:"MuiFormControlLabel"}),{className:i,componentsProps:l={},control:a,disabled:c,disableTypography:u,label:d,labelPlacement:f="end",required:h,slotProps:g={}}=s,m=te(s,kW),C=Us(),b=(r=c??a.props.disabled)!=null?r:C==null?void 0:C.disabled,y=h??a.props.required,w={disabled:b,required:y};["checked","name","onChange","value","inputRef"].forEach(E=>{typeof a.props[E]>"u"&&typeof s[E]<"u"&&(w[E]=s[E])});const S=sa({props:s,muiFormControl:C,states:["error"]}),k=x({},s,{disabled:b,labelPlacement:f,required:y,error:S.error}),P=PW(k),M=(o=g.typography)!=null?o:l.typography;let I=d;return I!=null&&I.type!==ot&&!u&&(I=v.jsx(ot,x({component:"span"},M,{className:le(P.label,M==null?void 0:M.className),children:I}))),v.jsxs(MW,x({className:le(P.root,i),ownerState:k,ref:n},m,{children:[p.cloneElement(a,w),y?v.jsxs(QR,{display:"block",children:[I,v.jsxs(IW,{ownerState:k,"aria-hidden":!0,className:P.asterisk,children:[" ","*"]})]}):I]}))});function EW(e){return ze("MuiFormHelperText",e)}const Rk=Ne("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]);var Ok;const _W=["children","className","component","disabled","error","filled","focused","margin","required","variant"],TW=e=>{const{classes:t,contained:n,size:r,disabled:o,error:s,filled:i,focused:l,required:a}=e,c={root:["root",o&&"disabled",s&&"error",r&&`size${oe(r)}`,n&&"contained",l&&"focused",i&&"filled",a&&"required"]};return ve(c,EW,t)},RW=re("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.size&&t[`size${oe(n.size)}`],n.contained&&t.contained,n.filled&&t.filled]}})(({theme:e,ownerState:t})=>x({color:(e.vars||e).palette.text.secondary},e.typography.caption,{textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${Rk.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${Rk.error}`]:{color:(e.vars||e).palette.error.main}},t.size==="small"&&{marginTop:4},t.contained&&{marginLeft:14,marginRight:14})),OW=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiFormHelperText"}),{children:o,className:s,component:i="p"}=r,l=te(r,_W),a=Us(),c=sa({props:r,muiFormControl:a,states:["variant","size","disabled","error","filled","focused","required"]}),u=x({},r,{component:i,contained:c.variant==="filled"||c.variant==="outlined",variant:c.variant,size:c.size,disabled:c.disabled,error:c.error,filled:c.filled,focused:c.focused,required:c.required}),d=TW(u);return v.jsx(RW,x({as:i,ownerState:u,className:le(d.root,s),ref:n},l,{children:o===" "?Ok||(Ok=v.jsx("span",{className:"notranslate",children:"​"})):o}))});function $W(e){return ze("MuiFormLabel",e)}const kd=Ne("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),FW=["children","className","color","component","disabled","error","filled","focused","required"],LW=e=>{const{classes:t,color:n,focused:r,disabled:o,error:s,filled:i,required:l}=e,a={root:["root",`color${oe(n)}`,o&&"disabled",s&&"error",i&&"filled",r&&"focused",l&&"required"],asterisk:["asterisk",s&&"error"]};return ve(a,$W,t)},DW=re("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:({ownerState:e},t)=>x({},t.root,e.color==="secondary"&&t.colorSecondary,e.filled&&t.filled)})(({theme:e,ownerState:t})=>x({color:(e.vars||e).palette.text.secondary},e.typography.body1,{lineHeight:"1.4375em",padding:0,position:"relative",[`&.${kd.focused}`]:{color:(e.vars||e).palette[t.color].main},[`&.${kd.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${kd.error}`]:{color:(e.vars||e).palette.error.main}})),AW=re("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})(({theme:e})=>({[`&.${kd.error}`]:{color:(e.vars||e).palette.error.main}})),jW=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiFormLabel"}),{children:o,className:s,component:i="label"}=r,l=te(r,FW),a=Us(),c=sa({props:r,muiFormControl:a,states:["color","required","focused","disabled","error","filled"]}),u=x({},r,{color:c.color||"primary",component:i,disabled:c.disabled,error:c.error,filled:c.filled,focused:c.focused,required:c.required}),d=LW(u);return v.jsxs(DW,x({as:i,ownerState:u,className:le(d.root,s),ref:n},l,{children:[o,c.required&&v.jsxs(AW,{ownerState:u,"aria-hidden":!0,className:d.asterisk,children:[" ","*"]})]}))}),$k=p.createContext();function zW(e){return ze("MuiGrid",e)}const NW=[0,1,2,3,4,5,6,7,8,9,10],HW=["column-reverse","column","row-reverse","row"],BW=["nowrap","wrap-reverse","wrap"],Fu=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],cf=Ne("MuiGrid",["root","container","item","zeroMinWidth",...NW.map(e=>`spacing-xs-${e}`),...HW.map(e=>`direction-xs-${e}`),...BW.map(e=>`wrap-xs-${e}`),...Fu.map(e=>`grid-xs-${e}`),...Fu.map(e=>`grid-sm-${e}`),...Fu.map(e=>`grid-md-${e}`),...Fu.map(e=>`grid-lg-${e}`),...Fu.map(e=>`grid-xl-${e}`)]),VW=["className","columns","columnSpacing","component","container","direction","item","rowSpacing","spacing","wrap","zeroMinWidth"];function ec(e){const t=parseFloat(e);return`${t}${String(e).replace(String(t),"")||"px"}`}function WW({theme:e,ownerState:t}){let n;return e.breakpoints.keys.reduce((r,o)=>{let s={};if(t[o]&&(n=t[o]),!n)return r;if(n===!0)s={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if(n==="auto")s={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{const i=Dl({values:t.columns,breakpoints:e.breakpoints.values}),l=typeof i=="object"?i[o]:i;if(l==null)return r;const a=`${Math.round(n/l*1e8)/1e6}%`;let c={};if(t.container&&t.item&&t.columnSpacing!==0){const u=e.spacing(t.columnSpacing);if(u!=="0px"){const d=`calc(${a} + ${ec(u)})`;c={flexBasis:d,maxWidth:d}}}s=x({flexBasis:a,flexGrow:0,maxWidth:a},c)}return e.breakpoints.values[o]===0?Object.assign(r,s):r[e.breakpoints.up(o)]=s,r},{})}function GW({theme:e,ownerState:t}){const n=Dl({values:t.direction,breakpoints:e.breakpoints.values});return Sr({theme:e},n,r=>{const o={flexDirection:r};return r.indexOf("column")===0&&(o[`& > .${cf.item}`]={maxWidth:"none"}),o})}function ZR({breakpoints:e,values:t}){let n="";Object.keys(t).forEach(o=>{n===""&&t[o]!==0&&(n=o)});const r=Object.keys(e).sort((o,s)=>e[o]-e[s]);return r.slice(0,r.indexOf(n))}function UW({theme:e,ownerState:t}){const{container:n,rowSpacing:r}=t;let o={};if(n&&r!==0){const s=Dl({values:r,breakpoints:e.breakpoints.values});let i;typeof s=="object"&&(i=ZR({breakpoints:e.breakpoints.values,values:s})),o=Sr({theme:e},s,(l,a)=>{var c;const u=e.spacing(l);return u!=="0px"?{marginTop:`-${ec(u)}`,[`& > .${cf.item}`]:{paddingTop:ec(u)}}:(c=i)!=null&&c.includes(a)?{}:{marginTop:0,[`& > .${cf.item}`]:{paddingTop:0}}})}return o}function KW({theme:e,ownerState:t}){const{container:n,columnSpacing:r}=t;let o={};if(n&&r!==0){const s=Dl({values:r,breakpoints:e.breakpoints.values});let i;typeof s=="object"&&(i=ZR({breakpoints:e.breakpoints.values,values:s})),o=Sr({theme:e},s,(l,a)=>{var c;const u=e.spacing(l);return u!=="0px"?{width:`calc(100% + ${ec(u)})`,marginLeft:`-${ec(u)}`,[`& > .${cf.item}`]:{paddingLeft:ec(u)}}:(c=i)!=null&&c.includes(a)?{}:{width:"100%",marginLeft:0,[`& > .${cf.item}`]:{paddingLeft:0}}})}return o}function qW(e,t,n={}){if(!e||e<=0)return[];if(typeof e=="string"&&!Number.isNaN(Number(e))||typeof e=="number")return[n[`spacing-xs-${String(e)}`]];const r=[];return t.forEach(o=>{const s=e[o];Number(s)>0&&r.push(n[`spacing-${o}-${String(s)}`])}),r}const XW=re("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e,{container:r,direction:o,item:s,spacing:i,wrap:l,zeroMinWidth:a,breakpoints:c}=n;let u=[];r&&(u=qW(i,c,t));const d=[];return c.forEach(f=>{const h=n[f];h&&d.push(t[`grid-${f}-${String(h)}`])}),[t.root,r&&t.container,s&&t.item,a&&t.zeroMinWidth,...u,o!=="row"&&t[`direction-xs-${String(o)}`],l!=="wrap"&&t[`wrap-xs-${String(l)}`],...d]}})(({ownerState:e})=>x({boxSizing:"border-box"},e.container&&{display:"flex",flexWrap:"wrap",width:"100%"},e.item&&{margin:0},e.zeroMinWidth&&{minWidth:0},e.wrap!=="wrap"&&{flexWrap:e.wrap}),GW,UW,KW,WW);function YW(e,t){if(!e||e<=0)return[];if(typeof e=="string"&&!Number.isNaN(Number(e))||typeof e=="number")return[`spacing-xs-${String(e)}`];const n=[];return t.forEach(r=>{const o=e[r];if(Number(o)>0){const s=`spacing-${r}-${String(o)}`;n.push(s)}}),n}const QW=e=>{const{classes:t,container:n,direction:r,item:o,spacing:s,wrap:i,zeroMinWidth:l,breakpoints:a}=e;let c=[];n&&(c=YW(s,a));const u=[];a.forEach(f=>{const h=e[f];h&&u.push(`grid-${f}-${String(h)}`)});const d={root:["root",n&&"container",o&&"item",l&&"zeroMinWidth",...c,r!=="row"&&`direction-xs-${String(r)}`,i!=="wrap"&&`wrap-xs-${String(i)}`,...u]};return ve(d,zW,t)},it=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiGrid"}),{breakpoints:o}=tl(),s=jf(r),{className:i,columns:l,columnSpacing:a,component:c="div",container:u=!1,direction:d="row",item:f=!1,rowSpacing:h,spacing:g=0,wrap:m="wrap",zeroMinWidth:C=!1}=s,b=te(s,VW),y=h||g,w=a||g,S=p.useContext($k),k=u?l||12:S,P={},M=x({},b);o.keys.forEach(T=>{b[T]!=null&&(P[T]=b[T],delete M[T])});const I=x({},s,{columns:k,container:u,direction:d,item:f,rowSpacing:y,columnSpacing:w,wrap:m,zeroMinWidth:C,spacing:g},P,{breakpoints:o.keys}),E=QW(I);return v.jsx($k.Provider,{value:k,children:v.jsx(XW,x({ownerState:I,className:le(E.root,i),as:c,ref:n},M))})}),ZW=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function dx(e){return`scale(${e}, ${e**2})`}const JW={entering:{opacity:1,transform:dx(1)},entered:{opacity:1,transform:"none"}},hv=typeof navigator<"u"&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),$c=p.forwardRef(function(t,n){const{addEndListener:r,appear:o=!0,children:s,easing:i,in:l,onEnter:a,onEntered:c,onEntering:u,onExit:d,onExited:f,onExiting:h,style:g,timeout:m="auto",TransitionComponent:C=ds}=t,b=te(t,ZW),y=pr(),w=p.useRef(),S=tl(),k=p.useRef(null),P=vt(k,ra(s),n),M=R=>_=>{if(R){const O=k.current;_===void 0?R(O):R(O,_)}},I=M(u),E=M((R,_)=>{ER(R);const{duration:O,delay:F,easing:j}=cg({style:g,timeout:m,easing:i},{mode:"enter"});let z;m==="auto"?(z=S.transitions.getAutoHeightDuration(R.clientHeight),w.current=z):z=O,R.style.transition=[S.transitions.create("opacity",{duration:z,delay:F}),S.transitions.create("transform",{duration:hv?z:z*.666,delay:F,easing:j})].join(","),a&&a(R,_)}),T=M(c),D=M(h),$=M(R=>{const{duration:_,delay:O,easing:F}=cg({style:g,timeout:m,easing:i},{mode:"exit"});let j;m==="auto"?(j=S.transitions.getAutoHeightDuration(R.clientHeight),w.current=j):j=_,R.style.transition=[S.transitions.create("opacity",{duration:j,delay:O}),S.transitions.create("transform",{duration:hv?j:j*.666,delay:hv?O:O||j*.333,easing:F})].join(","),R.style.opacity=0,R.style.transform=dx(.75),d&&d(R)}),L=M(f),A=R=>{m==="auto"&&y.start(w.current||0,R),r&&r(k.current,R)};return v.jsx(C,x({appear:o,in:l,nodeRef:k,onEnter:E,onEntered:T,onEntering:I,onExit:$,onExited:L,onExiting:D,addEndListener:A,timeout:m==="auto"?null:m},b,{children:(R,_)=>p.cloneElement(s,x({style:x({opacity:0,transform:dx(.75),visibility:R==="exited"&&!l?"hidden":void 0},JW[R],g,s.props.style),ref:P},_))}))});$c.muiSupportAuto=!0;const eG=["disableUnderline","components","componentsProps","fullWidth","inputComponent","multiline","slotProps","slots","type"],tG=e=>{const{classes:t,disableUnderline:n}=e,o=ve({root:["root",!n&&"underline"],input:["input"]},a3,t);return x({},t,o)},nG=re(qm,{shouldForwardProp:e=>Pr(e)||e==="classes",name:"MuiInput",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[...Um(e,t),!n.disableUnderline&&t.underline]}})(({theme:e,ownerState:t})=>{let r=e.palette.mode==="light"?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return e.vars&&(r=`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`),x({position:"relative"},t.formControl&&{"label + &":{marginTop:16}},!t.disableUnderline&&{"&::after":{borderBottom:`2px solid ${(e.vars||e).palette[t.color].main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${hi.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${hi.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${r}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${hi.disabled}, .${hi.error}):before`]:{borderBottom:`2px solid ${(e.vars||e).palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${r}`}},[`&.${hi.disabled}:before`]:{borderBottomStyle:"dotted"}})}),rG=re(Xm,{name:"MuiInput",slot:"Input",overridesResolver:Km})({}),kC=p.forwardRef(function(t,n){var r,o,s,i;const l=We({props:t,name:"MuiInput"}),{disableUnderline:a,components:c={},componentsProps:u,fullWidth:d=!1,inputComponent:f="input",multiline:h=!1,slotProps:g,slots:m={},type:C="text"}=l,b=te(l,eG),y=tG(l),S={root:{ownerState:{disableUnderline:a}}},k=g??u?tr(g??u,S):S,P=(r=(o=m.root)!=null?o:c.Root)!=null?r:nG,M=(s=(i=m.input)!=null?i:c.Input)!=null?s:rG;return v.jsx(tu,x({slots:{root:P,input:M},slotProps:k,fullWidth:d,inputComponent:f,multiline:h,ref:n,type:C},b,{classes:y}))});kC.muiName="Input";function oG(e){return ze("MuiInputAdornment",e)}const Fk=Ne("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]);var Lk;const sG=["children","className","component","disablePointerEvents","disableTypography","position","variant"],iG=(e,t)=>{const{ownerState:n}=e;return[t.root,t[`position${oe(n.position)}`],n.disablePointerEvents===!0&&t.disablePointerEvents,t[n.variant]]},lG=e=>{const{classes:t,disablePointerEvents:n,hiddenLabel:r,position:o,size:s,variant:i}=e,l={root:["root",n&&"disablePointerEvents",o&&`position${oe(o)}`,i,r&&"hiddenLabel",s&&`size${oe(s)}`]};return ve(l,oG,t)},aG=re("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:iG})(({theme:e,ownerState:t})=>x({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:(e.vars||e).palette.action.active},t.variant==="filled"&&{[`&.${Fk.positionStart}&:not(.${Fk.hiddenLabel})`]:{marginTop:16}},t.position==="start"&&{marginRight:8},t.position==="end"&&{marginLeft:8},t.disablePointerEvents===!0&&{pointerEvents:"none"})),JR=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiInputAdornment"}),{children:o,className:s,component:i="div",disablePointerEvents:l=!1,disableTypography:a=!1,position:c,variant:u}=r,d=te(r,sG),f=Us()||{};let h=u;u&&f.variant,f&&!h&&(h=f.variant);const g=x({},r,{hiddenLabel:f.hiddenLabel,size:f.size,disablePointerEvents:l,position:c,variant:h}),m=lG(g);return v.jsx(Gm.Provider,{value:null,children:v.jsx(aG,x({as:i,ownerState:g,className:le(m.root,s),ref:n},d,{children:typeof o=="string"&&!a?v.jsx(ot,{color:"text.secondary",children:o}):v.jsxs(p.Fragment,{children:[c==="start"?Lk||(Lk=v.jsx("span",{className:"notranslate",children:"​"})):null,o]})}))})});function cG(e){return ze("MuiInputLabel",e)}Ne("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);const uG=["disableAnimation","margin","shrink","variant","className"],dG=e=>{const{classes:t,formControl:n,size:r,shrink:o,disableAnimation:s,variant:i,required:l}=e,a={root:["root",n&&"formControl",!s&&"animated",o&&"shrink",r&&r!=="normal"&&`size${oe(r)}`,i],asterisk:[l&&"asterisk"]},c=ve(a,cG,t);return x({},t,c)},fG=re(jW,{shouldForwardProp:e=>Pr(e)||e==="classes",name:"MuiInputLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${kd.asterisk}`]:t.asterisk},t.root,n.formControl&&t.formControl,n.size==="small"&&t.sizeSmall,n.shrink&&t.shrink,!n.disableAnimation&&t.animated,n.focused&&t.focused,t[n.variant]]}})(({theme:e,ownerState:t})=>x({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},t.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},t.size==="small"&&{transform:"translate(0, 17px) scale(1)"},t.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!t.disableAnimation&&{transition:e.transitions.create(["color","transform","max-width"],{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut})},t.variant==="filled"&&x({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},t.size==="small"&&{transform:"translate(12px, 13px) scale(1)"},t.shrink&&x({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},t.size==="small"&&{transform:"translate(12px, 4px) scale(0.75)"})),t.variant==="outlined"&&x({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},t.size==="small"&&{transform:"translate(14px, 9px) scale(1)"},t.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}))),Zm=p.forwardRef(function(t,n){const r=We({name:"MuiInputLabel",props:t}),{disableAnimation:o=!1,shrink:s,className:i}=r,l=te(r,uG),a=Us();let c=s;typeof c>"u"&&a&&(c=a.filled||a.focused||a.adornedStart);const u=sa({props:r,muiFormControl:a,states:["size","variant","required","focused"]}),d=x({},r,{disableAnimation:o,formControl:a,shrink:c,size:u.size,variant:u.variant,required:u.required,focused:u.focused}),f=dG(d);return v.jsx(fG,x({"data-shrink":c,ownerState:d,ref:n,className:le(f.root,i)},l,{classes:f}))});function hG(e){return ze("MuiLinearProgress",e)}Ne("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]);const pG=["className","color","value","valueBuffer","variant"];let iu=e=>e,Dk,Ak,jk,zk,Nk,Hk;const fx=4,gG=jo(Dk||(Dk=iu`
+ 0% {
+ left: -35%;
+ right: 100%;
+ }
+
+ 60% {
+ left: 100%;
+ right: -90%;
+ }
+
+ 100% {
+ left: 100%;
+ right: -90%;
+ }
+`)),mG=jo(Ak||(Ak=iu`
+ 0% {
+ left: -200%;
+ right: 100%;
+ }
+
+ 60% {
+ left: 107%;
+ right: -8%;
+ }
+
+ 100% {
+ left: 107%;
+ right: -8%;
+ }
+`)),bG=jo(jk||(jk=iu`
+ 0% {
+ opacity: 1;
+ background-position: 0 -23px;
+ }
+
+ 60% {
+ opacity: 0;
+ background-position: 0 -23px;
+ }
+
+ 100% {
+ opacity: 1;
+ background-position: -200px -23px;
+ }
+`)),vG=e=>{const{classes:t,variant:n,color:r}=e,o={root:["root",`color${oe(r)}`,n],dashed:["dashed",`dashedColor${oe(r)}`],bar1:["bar",`barColor${oe(r)}`,(n==="indeterminate"||n==="query")&&"bar1Indeterminate",n==="determinate"&&"bar1Determinate",n==="buffer"&&"bar1Buffer"],bar2:["bar",n!=="buffer"&&`barColor${oe(r)}`,n==="buffer"&&`color${oe(r)}`,(n==="indeterminate"||n==="query")&&"bar2Indeterminate",n==="buffer"&&"bar2Buffer"]};return ve(o,hG,t)},PC=(e,t)=>t==="inherit"?"currentColor":e.vars?e.vars.palette.LinearProgress[`${t}Bg`]:e.palette.mode==="light"?of(e.palette[t].main,.62):rf(e.palette[t].main,.5),yG=re("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`color${oe(n.color)}`],t[n.variant]]}})(({ownerState:e,theme:t})=>x({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},backgroundColor:PC(t,e.color)},e.color==="inherit"&&e.variant!=="buffer"&&{backgroundColor:"none","&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}},e.variant==="buffer"&&{backgroundColor:"transparent"},e.variant==="query"&&{transform:"rotate(180deg)"})),xG=re("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.dashed,t[`dashedColor${oe(n.color)}`]]}})(({ownerState:e,theme:t})=>{const n=PC(t,e.color);return x({position:"absolute",marginTop:0,height:"100%",width:"100%"},e.color==="inherit"&&{opacity:.3},{backgroundImage:`radial-gradient(${n} 0%, ${n} 16%, transparent 42%)`,backgroundSize:"10px 10px",backgroundPosition:"0 -23px"})},zs(zk||(zk=iu`
+ animation: ${0} 3s infinite linear;
+ `),bG)),CG=re("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.bar,t[`barColor${oe(n.color)}`],(n.variant==="indeterminate"||n.variant==="query")&&t.bar1Indeterminate,n.variant==="determinate"&&t.bar1Determinate,n.variant==="buffer"&&t.bar1Buffer]}})(({ownerState:e,theme:t})=>x({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",backgroundColor:e.color==="inherit"?"currentColor":(t.vars||t).palette[e.color].main},e.variant==="determinate"&&{transition:`transform .${fx}s linear`},e.variant==="buffer"&&{zIndex:1,transition:`transform .${fx}s linear`}),({ownerState:e})=>(e.variant==="indeterminate"||e.variant==="query")&&zs(Nk||(Nk=iu`
+ width: auto;
+ animation: ${0} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
+ `),gG)),wG=re("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.bar,t[`barColor${oe(n.color)}`],(n.variant==="indeterminate"||n.variant==="query")&&t.bar2Indeterminate,n.variant==="buffer"&&t.bar2Buffer]}})(({ownerState:e,theme:t})=>x({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left"},e.variant!=="buffer"&&{backgroundColor:e.color==="inherit"?"currentColor":(t.vars||t).palette[e.color].main},e.color==="inherit"&&{opacity:.3},e.variant==="buffer"&&{backgroundColor:PC(t,e.color),transition:`transform .${fx}s linear`}),({ownerState:e})=>(e.variant==="indeterminate"||e.variant==="query")&&zs(Hk||(Hk=iu`
+ width: auto;
+ animation: ${0} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;
+ `),mG)),SG=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiLinearProgress"}),{className:o,color:s="primary",value:i,valueBuffer:l,variant:a="indeterminate"}=r,c=te(r,pG),u=x({},r,{color:s,variant:a}),d=vG(u),f=Zc(),h={},g={bar1:{},bar2:{}};if((a==="determinate"||a==="buffer")&&i!==void 0){h["aria-valuenow"]=Math.round(i),h["aria-valuemin"]=0,h["aria-valuemax"]=100;let m=i-100;f&&(m=-m),g.bar1.transform=`translateX(${m}%)`}if(a==="buffer"&&l!==void 0){let m=(l||0)-100;f&&(m=-m),g.bar2.transform=`translateX(${m}%)`}return v.jsxs(yG,x({className:le(d.root,o),ownerState:u,role:"progressbar"},h,{ref:n},c,{children:[a==="buffer"?v.jsx(xG,{className:d.dashed,ownerState:u}):null,v.jsx(CG,{className:d.bar1,ownerState:u,style:g.bar1}),a==="determinate"?null:v.jsx(wG,{className:d.bar2,ownerState:u,style:g.bar2})]}))});function kG(e){return ze("MuiLink",e)}const PG=Ne("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),eO={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},MG=e=>eO[e]||e,IG=({theme:e,ownerState:t})=>{const n=MG(t.color),r=Mc(e,`palette.${n}`,!1)||t.color,o=Mc(e,`palette.${n}Channel`);return"vars"in e&&o?`rgba(${o} / 0.4)`:bt(r,.4)},EG=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant","sx"],_G=e=>{const{classes:t,component:n,focusVisible:r,underline:o}=e,s={root:["root",`underline${oe(o)}`,n==="button"&&"button",r&&"focusVisible"]};return ve(s,kG,t)},TG=re(ot,{name:"MuiLink",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`underline${oe(n.underline)}`],n.component==="button"&&t.button]}})(({theme:e,ownerState:t})=>x({},t.underline==="none"&&{textDecoration:"none"},t.underline==="hover"&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},t.underline==="always"&&x({textDecoration:"underline"},t.color!=="inherit"&&{textDecorationColor:IG({theme:e,ownerState:t})},{"&:hover":{textDecorationColor:"inherit"}}),t.component==="button"&&{position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"},[`&.${PG.focusVisible}`]:{outline:"auto"}})),pi=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiLink"}),{className:o,color:s="primary",component:i="a",onBlur:l,onFocus:a,TypographyClasses:c,underline:u="always",variant:d="inherit",sx:f}=r,h=te(r,EG),{isFocusVisibleRef:g,onBlur:m,onFocus:C,ref:b}=Hm(),[y,w]=p.useState(!1),S=vt(n,b),k=E=>{m(E),g.current===!1&&w(!1),l&&l(E)},P=E=>{C(E),g.current===!0&&w(!0),a&&a(E)},M=x({},r,{color:s,component:i,focusVisible:y,underline:u,variant:d}),I=_G(M);return v.jsx(TG,x({color:s,className:le(I.root,o),classes:c,component:i,onBlur:k,onFocus:P,ref:S,ownerState:M,variant:d,sx:[...Object.keys(eO).includes(s)?[]:[{color:s}],...Array.isArray(f)?f:[f]]},h))}),uf=p.createContext({});function RG(e){return ze("MuiList",e)}Ne("MuiList",["root","padding","dense","subheader"]);const OG=["children","className","component","dense","disablePadding","subheader"],$G=e=>{const{classes:t,disablePadding:n,dense:r,subheader:o}=e;return ve({root:["root",!n&&"padding",r&&"dense",o&&"subheader"]},RG,t)},FG=re("ul",{name:"MuiList",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disablePadding&&t.padding,n.dense&&t.dense,n.subheader&&t.subheader]}})(({ownerState:e})=>x({listStyle:"none",margin:0,padding:0,position:"relative"},!e.disablePadding&&{paddingTop:8,paddingBottom:8},e.subheader&&{paddingTop:0})),LG=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiList"}),{children:o,className:s,component:i="ul",dense:l=!1,disablePadding:a=!1,subheader:c}=r,u=te(r,OG),d=p.useMemo(()=>({dense:l}),[l]),f=x({},r,{component:i,dense:l,disablePadding:a}),h=$G(f);return v.jsx(uf.Provider,{value:d,children:v.jsxs(FG,x({as:i,className:le(h.root,s),ref:n,ownerState:f},u,{children:[c,o]}))})});function DG(e){return ze("MuiListItemIcon",e)}const Bk=Ne("MuiListItemIcon",["root","alignItemsFlexStart"]),AG=["className"],jG=e=>{const{alignItems:t,classes:n}=e;return ve({root:["root",t==="flex-start"&&"alignItemsFlexStart"]},DG,n)},zG=re("div",{name:"MuiListItemIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.alignItems==="flex-start"&&t.alignItemsFlexStart]}})(({theme:e,ownerState:t})=>x({minWidth:56,color:(e.vars||e).palette.action.active,flexShrink:0,display:"inline-flex"},t.alignItems==="flex-start"&&{marginTop:8})),Bi=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiListItemIcon"}),{className:o}=r,s=te(r,AG),i=p.useContext(uf),l=x({},r,{alignItems:i.alignItems}),a=jG(l);return v.jsx(zG,x({className:le(a.root,o),ownerState:l,ref:n},s))});function NG(e){return ze("MuiListItemText",e)}const hg=Ne("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]),HG=["children","className","disableTypography","inset","primary","primaryTypographyProps","secondary","secondaryTypographyProps"],BG=e=>{const{classes:t,inset:n,primary:r,secondary:o,dense:s}=e;return ve({root:["root",n&&"inset",s&&"dense",r&&o&&"multiline"],primary:["primary"],secondary:["secondary"]},NG,t)},VG=re("div",{name:"MuiListItemText",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${hg.primary}`]:t.primary},{[`& .${hg.secondary}`]:t.secondary},t.root,n.inset&&t.inset,n.primary&&n.secondary&&t.multiline,n.dense&&t.dense]}})(({ownerState:e})=>x({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4},e.primary&&e.secondary&&{marginTop:6,marginBottom:6},e.inset&&{paddingLeft:56})),Vi=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiListItemText"}),{children:o,className:s,disableTypography:i=!1,inset:l=!1,primary:a,primaryTypographyProps:c,secondary:u,secondaryTypographyProps:d}=r,f=te(r,HG),{dense:h}=p.useContext(uf);let g=a??o,m=u;const C=x({},r,{disableTypography:i,inset:l,primary:!!g,secondary:!!m,dense:h}),b=BG(C);return g!=null&&g.type!==ot&&!i&&(g=v.jsx(ot,x({variant:h?"body2":"body1",className:b.primary,component:c!=null&&c.variant?void 0:"span",display:"block"},c,{children:g}))),m!=null&&m.type!==ot&&!i&&(m=v.jsx(ot,x({variant:"body2",className:b.secondary,color:"text.secondary",display:"block"},d,{children:m}))),v.jsxs(VG,x({className:le(b.root,s),ownerState:C,ref:n},f,{children:[g,m]}))}),WG=["actions","autoFocus","autoFocusItem","children","className","disabledItemsFocusable","disableListWrap","onKeyDown","variant"];function pv(e,t,n){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:n?null:e.firstChild}function Vk(e,t,n){return e===t?n?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:n?null:e.lastChild}function tO(e,t){if(t===void 0)return!0;let n=e.innerText;return n===void 0&&(n=e.textContent),n=n.trim().toLowerCase(),n.length===0?!1:t.repeating?n[0]===t.keys[0]:n.indexOf(t.keys.join(""))===0}function Lu(e,t,n,r,o,s){let i=!1,l=o(e,t,t?n:!1);for(;l;){if(l===e.firstChild){if(i)return!1;i=!0}const a=r?!1:l.disabled||l.getAttribute("aria-disabled")==="true";if(!l.hasAttribute("tabindex")||!tO(l,s)||a)l=o(e,l,n);else return l.focus(),!0}return!1}const Jm=p.forwardRef(function(t,n){const{actions:r,autoFocus:o=!1,autoFocusItem:s=!1,children:i,className:l,disabledItemsFocusable:a=!1,disableListWrap:c=!1,onKeyDown:u,variant:d="selectedMenu"}=t,f=te(t,WG),h=p.useRef(null),g=p.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});Et(()=>{o&&h.current.focus()},[o]),p.useImperativeHandle(r,()=>({adjustStyleForScrollbar:(w,{direction:S})=>{const k=!h.current.style.width;if(w.clientHeight{const S=h.current,k=w.key,P=Ft(S).activeElement;if(k==="ArrowDown")w.preventDefault(),Lu(S,P,c,a,pv);else if(k==="ArrowUp")w.preventDefault(),Lu(S,P,c,a,Vk);else if(k==="Home")w.preventDefault(),Lu(S,null,c,a,pv);else if(k==="End")w.preventDefault(),Lu(S,null,c,a,Vk);else if(k.length===1){const M=g.current,I=k.toLowerCase(),E=performance.now();M.keys.length>0&&(E-M.lastTime>500?(M.keys=[],M.repeating=!0,M.previousKeyMatched=!0):M.repeating&&I!==M.keys[0]&&(M.repeating=!1)),M.lastTime=E,M.keys.push(I);const T=P&&!M.repeating&&tO(P,M);M.previousKeyMatched&&(T||Lu(S,P,!1,a,pv,M))?w.preventDefault():M.previousKeyMatched=!1}u&&u(w)},C=vt(h,n);let b=-1;p.Children.forEach(i,(w,S)=>{if(!p.isValidElement(w)){b===S&&(b+=1,b>=i.length&&(b=-1));return}w.props.disabled||(d==="selectedMenu"&&w.props.selected||b===-1)&&(b=S),b===S&&(w.props.disabled||w.props.muiSkipListHighlight||w.type.muiSkipListHighlight)&&(b+=1,b>=i.length&&(b=-1))});const y=p.Children.map(i,(w,S)=>{if(S===b){const k={};return s&&(k.autoFocus=!0),w.props.tabIndex===void 0&&d==="selectedMenu"&&(k.tabIndex=0),p.cloneElement(w,k)}return w});return v.jsx(LG,x({role:"menu",ref:C,className:l,onKeyDown:m,tabIndex:o?0:-1},f,{children:y}))});function GG(e){return ze("MuiPopover",e)}Ne("MuiPopover",["root","paper"]);const UG=["onEntering"],KG=["action","anchorEl","anchorOrigin","anchorPosition","anchorReference","children","className","container","elevation","marginThreshold","open","PaperProps","slots","slotProps","transformOrigin","TransitionComponent","transitionDuration","TransitionProps","disableScrollLock"],qG=["slotProps"];function Wk(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.height/2:t==="bottom"&&(n=e.height),n}function Gk(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.width/2:t==="right"&&(n=e.width),n}function Uk(e){return[e.horizontal,e.vertical].map(t=>typeof t=="number"?`${t}px`:t).join(" ")}function gv(e){return typeof e=="function"?e():e}const XG=e=>{const{classes:t}=e;return ve({root:["root"],paper:["paper"]},GG,t)},YG=re(XR,{name:"MuiPopover",slot:"Root",overridesResolver:(e,t)=>t.root})({}),nO=re(Gs,{name:"MuiPopover",slot:"Paper",overridesResolver:(e,t)=>t.paper})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),QG=p.forwardRef(function(t,n){var r,o,s;const i=We({props:t,name:"MuiPopover"}),{action:l,anchorEl:a,anchorOrigin:c={vertical:"top",horizontal:"left"},anchorPosition:u,anchorReference:d="anchorEl",children:f,className:h,container:g,elevation:m=8,marginThreshold:C=16,open:b,PaperProps:y={},slots:w,slotProps:S,transformOrigin:k={vertical:"top",horizontal:"left"},TransitionComponent:P=$c,transitionDuration:M="auto",TransitionProps:{onEntering:I}={},disableScrollLock:E=!1}=i,T=te(i.TransitionProps,UG),D=te(i,KG),$=(r=S==null?void 0:S.paper)!=null?r:y,L=p.useRef(),A=vt(L,$.ref),R=x({},i,{anchorOrigin:c,anchorReference:d,elevation:m,marginThreshold:C,externalPaperSlotProps:$,transformOrigin:k,TransitionComponent:P,transitionDuration:M,TransitionProps:T}),_=XG(R),O=p.useCallback(()=>{if(d==="anchorPosition")return u;const q=gv(a),ae=(q&&q.nodeType===1?q:Ft(L.current).body).getBoundingClientRect();return{top:ae.top+Wk(ae,c.vertical),left:ae.left+Gk(ae,c.horizontal)}},[a,c.horizontal,c.vertical,u,d]),F=p.useCallback(q=>({vertical:Wk(q,k.vertical),horizontal:Gk(q,k.horizontal)}),[k.horizontal,k.vertical]),j=p.useCallback(q=>{const me={width:q.offsetWidth,height:q.offsetHeight},ae=F(me);if(d==="none")return{top:null,left:null,transformOrigin:Uk(ae)};const ce=O();let ye=ce.top-ae.vertical,ne=ce.left-ae.horizontal;const Oe=ye+me.height,_e=ne+me.width,Pe=Do(gv(a)),He=Pe.innerHeight-C,De=Pe.innerWidth-C;if(C!==null&&yeHe){const we=Oe-He;ye-=we,ae.vertical+=we}if(C!==null&&neDe){const we=_e-De;ne-=we,ae.horizontal+=we}return{top:`${Math.round(ye)}px`,left:`${Math.round(ne)}px`,transformOrigin:Uk(ae)}},[a,d,O,F,C]),[z,H]=p.useState(b),B=p.useCallback(()=>{const q=L.current;if(!q)return;const me=j(q);me.top!==null&&(q.style.top=me.top),me.left!==null&&(q.style.left=me.left),q.style.transformOrigin=me.transformOrigin,H(!0)},[j]);p.useEffect(()=>(E&&window.addEventListener("scroll",B),()=>window.removeEventListener("scroll",B)),[a,E,B]);const G=(q,me)=>{I&&I(q,me),B()},V=()=>{H(!1)};p.useEffect(()=>{b&&B()}),p.useImperativeHandle(l,()=>b?{updatePosition:()=>{B()}}:null,[b,B]),p.useEffect(()=>{if(!b)return;const q=Qc(()=>{B()}),me=Do(a);return me.addEventListener("resize",q),()=>{q.clear(),me.removeEventListener("resize",q)}},[a,b,B]);let Z=M;M==="auto"&&!P.muiSupportAuto&&(Z=void 0);const Q=g||(a?Ft(gv(a)).body:void 0),U=(o=w==null?void 0:w.root)!=null?o:YG,K=(s=w==null?void 0:w.paper)!=null?s:nO,ee=kr({elementType:K,externalSlotProps:x({},$,{style:z?$.style:x({},$.style,{opacity:0})}),additionalProps:{elevation:m,ref:A},ownerState:R,className:le(_.paper,$==null?void 0:$.className)}),de=kr({elementType:U,externalSlotProps:(S==null?void 0:S.root)||{},externalForwardedProps:D,additionalProps:{ref:n,slotProps:{backdrop:{invisible:!0}},container:Q,open:b},ownerState:R,className:le(_.root,h)}),{slotProps:se}=de,ge=te(de,qG);return v.jsx(U,x({},ge,!ef(U)&&{slotProps:se,disableScrollLock:E},{children:v.jsx(P,x({appear:!0,in:b,onEntering:G,onExited:V,timeout:Z},T,{children:v.jsx(K,x({},ee,{children:f}))}))}))});function ZG(e){return ze("MuiMenu",e)}Ne("MuiMenu",["root","paper","list"]);const JG=["onEntering"],e6=["autoFocus","children","className","disableAutoFocusItem","MenuListProps","onClose","open","PaperProps","PopoverClasses","transitionDuration","TransitionProps","variant","slots","slotProps"],t6={vertical:"top",horizontal:"right"},n6={vertical:"top",horizontal:"left"},r6=e=>{const{classes:t}=e;return ve({root:["root"],paper:["paper"],list:["list"]},ZG,t)},o6=re(QG,{shouldForwardProp:e=>Pr(e)||e==="classes",name:"MuiMenu",slot:"Root",overridesResolver:(e,t)=>t.root})({}),s6=re(nO,{name:"MuiMenu",slot:"Paper",overridesResolver:(e,t)=>t.paper})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),i6=re(Jm,{name:"MuiMenu",slot:"List",overridesResolver:(e,t)=>t.list})({outline:0}),eb=p.forwardRef(function(t,n){var r,o;const s=We({props:t,name:"MuiMenu"}),{autoFocus:i=!0,children:l,className:a,disableAutoFocusItem:c=!1,MenuListProps:u={},onClose:d,open:f,PaperProps:h={},PopoverClasses:g,transitionDuration:m="auto",TransitionProps:{onEntering:C}={},variant:b="selectedMenu",slots:y={},slotProps:w={}}=s,S=te(s.TransitionProps,JG),k=te(s,e6),P=Zc(),M=x({},s,{autoFocus:i,disableAutoFocusItem:c,MenuListProps:u,onEntering:C,PaperProps:h,transitionDuration:m,TransitionProps:S,variant:b}),I=r6(M),E=i&&!c&&f,T=p.useRef(null),D=(F,j)=>{T.current&&T.current.adjustStyleForScrollbar(F,{direction:P?"rtl":"ltr"}),C&&C(F,j)},$=F=>{F.key==="Tab"&&(F.preventDefault(),d&&d(F,"tabKeyDown"))};let L=-1;p.Children.map(l,(F,j)=>{p.isValidElement(F)&&(F.props.disabled||(b==="selectedMenu"&&F.props.selected||L===-1)&&(L=j))});const A=(r=y.paper)!=null?r:s6,R=(o=w.paper)!=null?o:h,_=kr({elementType:y.root,externalSlotProps:w.root,ownerState:M,className:[I.root,a]}),O=kr({elementType:A,externalSlotProps:R,ownerState:M,className:I.paper});return v.jsx(o6,x({onClose:d,anchorOrigin:{vertical:"bottom",horizontal:P?"right":"left"},transformOrigin:P?t6:n6,slots:{paper:A,root:y.root},slotProps:{root:_,paper:O},open:f,ref:n,transitionDuration:m,TransitionProps:x({onEntering:D},S),ownerState:M},k,{classes:g,children:v.jsx(i6,x({onKeyDown:$,actions:T,autoFocus:i&&(L===-1||c),autoFocusItem:E,variant:b},u,{className:le(I.list,u.className),children:l}))}))});function l6(e){return ze("MuiMenuItem",e)}const Du=Ne("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),a6=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex","className"],c6=(e,t)=>{const{ownerState:n}=e;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]},u6=e=>{const{disabled:t,dense:n,divider:r,disableGutters:o,selected:s,classes:i}=e,a=ve({root:["root",n&&"dense",t&&"disabled",!o&&"gutters",r&&"divider",s&&"selected"]},l6,i);return x({},i,a)},d6=re(Xi,{shouldForwardProp:e=>Pr(e)||e==="classes",name:"MuiMenuItem",slot:"Root",overridesResolver:c6})(({theme:e,ownerState:t})=>x({},e.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},{"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Du.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:bt(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${Du.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:bt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${Du.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:bt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:bt(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${Du.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${Du.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`& + .${Tk.root}`]:{marginTop:e.spacing(1),marginBottom:e.spacing(1)},[`& + .${Tk.inset}`]:{marginLeft:52},[`& .${hg.root}`]:{marginTop:0,marginBottom:0},[`& .${hg.inset}`]:{paddingLeft:36},[`& .${Bk.root}`]:{minWidth:36}},!t.dense&&{[e.breakpoints.up("sm")]:{minHeight:"auto"}},t.dense&&x({minHeight:32,paddingTop:4,paddingBottom:4},e.typography.body2,{[`& .${Bk.root} svg`]:{fontSize:"1.25rem"}}))),cn=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiMenuItem"}),{autoFocus:o=!1,component:s="li",dense:i=!1,divider:l=!1,disableGutters:a=!1,focusVisibleClassName:c,role:u="menuitem",tabIndex:d,className:f}=r,h=te(r,a6),g=p.useContext(uf),m=p.useMemo(()=>({dense:i||g.dense||!1,disableGutters:a}),[g.dense,i,a]),C=p.useRef(null);Et(()=>{o&&C.current&&C.current.focus()},[o]);const b=x({},r,{dense:m.dense,divider:l,disableGutters:a}),y=u6(r),w=vt(C,n);let S;return r.disabled||(S=d!==void 0?d:-1),v.jsx(uf.Provider,{value:m,children:v.jsx(d6,x({ref:w,role:u,tabIndex:S,component:s,focusVisibleClassName:le(y.focusVisible,c),className:le(y.root,f)},h,{ownerState:b,classes:y}))})});function f6(e){return ze("MuiNativeSelect",e)}const MC=Ne("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),h6=["className","disabled","error","IconComponent","inputRef","variant"],p6=e=>{const{classes:t,variant:n,disabled:r,multiple:o,open:s,error:i}=e,l={select:["select",n,r&&"disabled",o&&"multiple",i&&"error"],icon:["icon",`icon${oe(n)}`,s&&"iconOpen",r&&"disabled"]};return ve(l,f6,t)},rO=({ownerState:e,theme:t})=>x({MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":x({},t.vars?{backgroundColor:`rgba(${t.vars.palette.common.onBackgroundChannel} / 0.05)`}:{backgroundColor:t.palette.mode==="light"?"rgba(0, 0, 0, 0.05)":"rgba(255, 255, 255, 0.05)"},{borderRadius:0}),"&::-ms-expand":{display:"none"},[`&.${MC.disabled}`]:{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:(t.vars||t).palette.background.paper},"&&&":{paddingRight:24,minWidth:16}},e.variant==="filled"&&{"&&&":{paddingRight:32}},e.variant==="outlined"&&{borderRadius:(t.vars||t).shape.borderRadius,"&:focus":{borderRadius:(t.vars||t).shape.borderRadius},"&&&":{paddingRight:32}}),g6=re("select",{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:Pr,overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.select,t[n.variant],n.error&&t.error,{[`&.${MC.multiple}`]:t.multiple}]}})(rO),oO=({ownerState:e,theme:t})=>x({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:(t.vars||t).palette.action.active,[`&.${MC.disabled}`]:{color:(t.vars||t).palette.action.disabled}},e.open&&{transform:"rotate(180deg)"},e.variant==="filled"&&{right:7},e.variant==="outlined"&&{right:7}),m6=re("svg",{name:"MuiNativeSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,n.variant&&t[`icon${oe(n.variant)}`],n.open&&t.iconOpen]}})(oO),b6=p.forwardRef(function(t,n){const{className:r,disabled:o,error:s,IconComponent:i,inputRef:l,variant:a="standard"}=t,c=te(t,h6),u=x({},t,{disabled:o,variant:a,error:s}),d=p6(u);return v.jsxs(p.Fragment,{children:[v.jsx(g6,x({ownerState:u,className:le(d.select,r),disabled:o,ref:l||n},c)),t.multiple?null:v.jsx(m6,{as:i,ownerState:u,className:d.icon})]})});var Kk;const v6=["children","classes","className","label","notched"],y6=re("fieldset",{name:"MuiNotchedOutlined",shouldForwardProp:Pr})({textAlign:"left",position:"absolute",bottom:0,right:0,top:-5,left:0,margin:0,padding:"0 8px",pointerEvents:"none",borderRadius:"inherit",borderStyle:"solid",borderWidth:1,overflow:"hidden",minWidth:"0%"}),x6=re("legend",{name:"MuiNotchedOutlined",shouldForwardProp:Pr})(({ownerState:e,theme:t})=>x({float:"unset",width:"auto",overflow:"hidden"},!e.withLabel&&{padding:0,lineHeight:"11px",transition:t.transitions.create("width",{duration:150,easing:t.transitions.easing.easeOut})},e.withLabel&&x({display:"block",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:t.transitions.create("max-width",{duration:50,easing:t.transitions.easing.easeOut}),whiteSpace:"nowrap","& > span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}},e.notched&&{maxWidth:"100%",transition:t.transitions.create("max-width",{duration:100,easing:t.transitions.easing.easeOut,delay:50})})));function C6(e){const{className:t,label:n,notched:r}=e,o=te(e,v6),s=n!=null&&n!=="",i=x({},e,{notched:r,withLabel:s});return v.jsx(y6,x({"aria-hidden":!0,className:t,ownerState:i},o,{children:v.jsx(x6,{ownerState:i,children:s?v.jsx("span",{children:n}):Kk||(Kk=v.jsx("span",{className:"notranslate",children:"​"}))})}))}const w6=["components","fullWidth","inputComponent","label","multiline","notched","slots","type"],S6=e=>{const{classes:t}=e,r=ve({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},c3,t);return x({},t,r)},k6=re(qm,{shouldForwardProp:e=>Pr(e)||e==="classes",name:"MuiOutlinedInput",slot:"Root",overridesResolver:Um})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return x({position:"relative",borderRadius:(e.vars||e).shape.borderRadius,[`&:hover .${qo.notchedOutline}`]:{borderColor:(e.vars||e).palette.text.primary},"@media (hover: none)":{[`&:hover .${qo.notchedOutline}`]:{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:n}},[`&.${qo.focused} .${qo.notchedOutline}`]:{borderColor:(e.vars||e).palette[t.color].main,borderWidth:2},[`&.${qo.error} .${qo.notchedOutline}`]:{borderColor:(e.vars||e).palette.error.main},[`&.${qo.disabled} .${qo.notchedOutline}`]:{borderColor:(e.vars||e).palette.action.disabled}},t.startAdornment&&{paddingLeft:14},t.endAdornment&&{paddingRight:14},t.multiline&&x({padding:"16.5px 14px"},t.size==="small"&&{padding:"8.5px 14px"}))}),P6=re(C6,{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:(e,t)=>t.notchedOutline})(({theme:e})=>{const t=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:t}}),M6=re(Xm,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:Km})(({theme:e,ownerState:t})=>x({padding:"16.5px 14px"},!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderRadius:"inherit"}},e.vars&&{"&:-webkit-autofill":{borderRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},t.size==="small"&&{padding:"8.5px 14px"},t.multiline&&{padding:0},t.startAdornment&&{paddingLeft:0},t.endAdornment&&{paddingRight:0})),IC=p.forwardRef(function(t,n){var r,o,s,i,l;const a=We({props:t,name:"MuiOutlinedInput"}),{components:c={},fullWidth:u=!1,inputComponent:d="input",label:f,multiline:h=!1,notched:g,slots:m={},type:C="text"}=a,b=te(a,w6),y=S6(a),w=Us(),S=sa({props:a,muiFormControl:w,states:["color","disabled","error","focused","hiddenLabel","size","required"]}),k=x({},a,{color:S.color||"primary",disabled:S.disabled,error:S.error,focused:S.focused,formControl:w,fullWidth:u,hiddenLabel:S.hiddenLabel,multiline:h,size:S.size,type:C}),P=(r=(o=m.root)!=null?o:c.Root)!=null?r:k6,M=(s=(i=m.input)!=null?i:c.Input)!=null?s:M6;return v.jsx(tu,x({slots:{root:P,input:M},renderSuffix:I=>v.jsx(P6,{ownerState:k,className:y.notchedOutline,label:f!=null&&f!==""&&S.required?l||(l=v.jsxs(p.Fragment,{children:[f," ","*"]})):f,notched:typeof g<"u"?g:!!(I.startAdornment||I.filled||I.focused)}),fullWidth:u,inputComponent:d,multiline:h,ref:n,type:C},b,{classes:x({},y,{notchedOutline:null})}))});IC.muiName="Input";const I6=Qe(v.jsx("path",{d:"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"}),"FirstPage"),E6=Qe(v.jsx("path",{d:"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"}),"LastPage");function _6(e){return ze("MuiSelect",e)}const Au=Ne("MuiSelect",["root","select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]);var qk;const T6=["aria-describedby","aria-label","autoFocus","autoWidth","children","className","defaultOpen","defaultValue","disabled","displayEmpty","error","IconComponent","inputRef","labelId","MenuProps","multiple","name","onBlur","onChange","onClose","onFocus","onOpen","open","readOnly","renderValue","SelectDisplayProps","tabIndex","type","value","variant"],R6=re("div",{name:"MuiSelect",slot:"Select",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`&.${Au.select}`]:t.select},{[`&.${Au.select}`]:t[n.variant]},{[`&.${Au.error}`]:t.error},{[`&.${Au.multiple}`]:t.multiple}]}})(rO,{[`&.${Au.select}`]:{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}}),O6=re("svg",{name:"MuiSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,n.variant&&t[`icon${oe(n.variant)}`],n.open&&t.iconOpen]}})(oO),$6=re("input",{shouldForwardProp:e=>SR(e)&&e!=="classes",name:"MuiSelect",slot:"NativeInput",overridesResolver:(e,t)=>t.nativeInput})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function Xk(e,t){return typeof t=="object"&&t!==null?e===t:String(e)===String(t)}function F6(e){return e==null||typeof e=="string"&&!e.trim()}const L6=e=>{const{classes:t,variant:n,disabled:r,multiple:o,open:s,error:i}=e,l={select:["select",n,r&&"disabled",o&&"multiple",i&&"error"],icon:["icon",`icon${oe(n)}`,s&&"iconOpen",r&&"disabled"],nativeInput:["nativeInput"]};return ve(l,_6,t)},D6=p.forwardRef(function(t,n){var r;const{"aria-describedby":o,"aria-label":s,autoFocus:i,autoWidth:l,children:a,className:c,defaultOpen:u,defaultValue:d,disabled:f,displayEmpty:h,error:g=!1,IconComponent:m,inputRef:C,labelId:b,MenuProps:y={},multiple:w,name:S,onBlur:k,onChange:P,onClose:M,onFocus:I,onOpen:E,open:T,readOnly:D,renderValue:$,SelectDisplayProps:L={},tabIndex:A,value:R,variant:_="standard"}=t,O=te(t,T6),[F,j]=Hi({controlled:R,default:d,name:"Select"}),[z,H]=Hi({controlled:T,default:u,name:"Select"}),B=p.useRef(null),G=p.useRef(null),[V,Z]=p.useState(null),{current:Q}=p.useRef(T!=null),[U,K]=p.useState(),ee=vt(n,C),de=p.useCallback(Me=>{G.current=Me,Me&&Z(Me)},[]),se=V==null?void 0:V.parentNode;p.useImperativeHandle(ee,()=>({focus:()=>{G.current.focus()},node:B.current,value:F}),[F]),p.useEffect(()=>{u&&z&&V&&!Q&&(K(l?null:se.clientWidth),G.current.focus())},[V,l]),p.useEffect(()=>{i&&G.current.focus()},[i]),p.useEffect(()=>{if(!b)return;const Me=Ft(G.current).getElementById(b);if(Me){const Se=()=>{getSelection().isCollapsed&&G.current.focus()};return Me.addEventListener("click",Se),()=>{Me.removeEventListener("click",Se)}}},[b]);const ge=(Me,Se)=>{Me?E&&E(Se):M&&M(Se),Q||(K(l?null:se.clientWidth),H(Me))},q=Me=>{Me.button===0&&(Me.preventDefault(),G.current.focus(),ge(!0,Me))},me=Me=>{ge(!1,Me)},ae=p.Children.toArray(a),ce=Me=>{const Se=ae.find(pe=>pe.props.value===Me.target.value);Se!==void 0&&(j(Se.props.value),P&&P(Me,Se))},ye=Me=>Se=>{let pe;if(Se.currentTarget.hasAttribute("tabindex")){if(w){pe=Array.isArray(F)?F.slice():[];const ke=F.indexOf(Me.props.value);ke===-1?pe.push(Me.props.value):pe.splice(ke,1)}else pe=Me.props.value;if(Me.props.onClick&&Me.props.onClick(Se),F!==pe&&(j(pe),P)){const ke=Se.nativeEvent||Se,Ge=new ke.constructor(ke.type,ke);Object.defineProperty(Ge,"target",{writable:!0,value:{value:pe,name:S}}),P(Ge,Me)}w||ge(!1,Se)}},ne=Me=>{D||[" ","ArrowUp","ArrowDown","Enter"].indexOf(Me.key)!==-1&&(Me.preventDefault(),ge(!0,Me))},Oe=V!==null&&z,_e=Me=>{!Oe&&k&&(Object.defineProperty(Me,"target",{writable:!0,value:{value:F,name:S}}),k(Me))};delete O["aria-invalid"];let Pe,He;const De=[];let we=!1;(dg({value:F})||h)&&($?Pe=$(F):we=!0);const Ae=ae.map(Me=>{if(!p.isValidElement(Me))return null;let Se;if(w){if(!Array.isArray(F))throw new Error(js(2));Se=F.some(pe=>Xk(pe,Me.props.value)),Se&&we&&De.push(Me.props.children)}else Se=Xk(F,Me.props.value),Se&&we&&(He=Me.props.children);return p.cloneElement(Me,{"aria-selected":Se?"true":"false",onClick:ye(Me),onKeyUp:pe=>{pe.key===" "&&pe.preventDefault(),Me.props.onKeyUp&&Me.props.onKeyUp(pe)},role:"option",selected:Se,value:void 0,"data-value":Me.props.value})});we&&(w?De.length===0?Pe=null:Pe=De.reduce((Me,Se,pe)=>(Me.push(Se),pe{const{classes:t}=e;return t},EC={name:"MuiSelect",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>Pr(e)&&e!=="variant",slot:"Root"},N6=re(kC,EC)(""),H6=re(IC,EC)(""),B6=re(SC,EC)(""),lu=p.forwardRef(function(t,n){const r=We({name:"MuiSelect",props:t}),{autoWidth:o=!1,children:s,classes:i={},className:l,defaultOpen:a=!1,displayEmpty:c=!1,IconComponent:u=WR,id:d,input:f,inputProps:h,label:g,labelId:m,MenuProps:C,multiple:b=!1,native:y=!1,onClose:w,onOpen:S,open:k,renderValue:P,SelectDisplayProps:M,variant:I="outlined"}=r,E=te(r,A6),T=y?b6:D6,D=Us(),$=sa({props:r,muiFormControl:D,states:["variant","error"]}),L=$.variant||I,A=x({},r,{variant:L,classes:i}),R=z6(A),_=te(R,j6),O=f||{standard:v.jsx(N6,{ownerState:A}),outlined:v.jsx(H6,{label:g,ownerState:A}),filled:v.jsx(B6,{ownerState:A})}[L],F=vt(n,ra(O));return v.jsx(p.Fragment,{children:p.cloneElement(O,x({inputComponent:T,inputProps:x({children:s,error:$.error,IconComponent:u,variant:L,type:void 0,multiple:b},y?{id:d}:{autoWidth:o,defaultOpen:a,displayEmpty:c,labelId:m,MenuProps:C,onClose:w,onOpen:S,open:k,renderValue:P,SelectDisplayProps:x({id:d},M)},h,{classes:h?tr(_,h.classes):_},f?f.props.inputProps:{})},(b&&y||c)&&L==="outlined"?{notched:!0}:{},{ref:F,className:le(O.props.className,l,R.root)},!f&&{variant:L},E))})});lu.muiName="Select";function V6(e){return ze("MuiSkeleton",e)}Ne("MuiSkeleton",["root","text","rectangular","rounded","circular","pulse","wave","withChildren","fitContent","heightAuto"]);const W6=["animation","className","component","height","style","variant","width"];let pg=e=>e,Yk,Qk,Zk,Jk;const G6=e=>{const{classes:t,variant:n,animation:r,hasChildren:o,width:s,height:i}=e;return ve({root:["root",n,r,o&&"withChildren",o&&!s&&"fitContent",o&&!i&&"heightAuto"]},V6,t)},U6=jo(Yk||(Yk=pg`
+ 0% {
+ opacity: 1;
+ }
+
+ 50% {
+ opacity: 0.4;
+ }
+
+ 100% {
+ opacity: 1;
+ }
+`)),K6=jo(Qk||(Qk=pg`
+ 0% {
+ transform: translateX(-100%);
+ }
+
+ 50% {
+ /* +0.5s of delay between each loop */
+ transform: translateX(100%);
+ }
+
+ 100% {
+ transform: translateX(100%);
+ }
+`)),q6=re("span",{name:"MuiSkeleton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],n.animation!==!1&&t[n.animation],n.hasChildren&&t.withChildren,n.hasChildren&&!n.width&&t.fitContent,n.hasChildren&&!n.height&&t.heightAuto]}})(({theme:e,ownerState:t})=>{const n=AH(e.shape.borderRadius)||"px",r=jH(e.shape.borderRadius);return x({display:"block",backgroundColor:e.vars?e.vars.palette.Skeleton.bg:Cl(e.palette.text.primary,e.palette.mode==="light"?.11:.13),height:"1.2em"},t.variant==="text"&&{marginTop:0,marginBottom:0,height:"auto",transformOrigin:"0 55%",transform:"scale(1, 0.60)",borderRadius:`${r}${n}/${Math.round(r/.6*10)/10}${n}`,"&:empty:before":{content:'"\\00a0"'}},t.variant==="circular"&&{borderRadius:"50%"},t.variant==="rounded"&&{borderRadius:(e.vars||e).shape.borderRadius},t.hasChildren&&{"& > *":{visibility:"hidden"}},t.hasChildren&&!t.width&&{maxWidth:"fit-content"},t.hasChildren&&!t.height&&{height:"auto"})},({ownerState:e})=>e.animation==="pulse"&&zs(Zk||(Zk=pg`
+ animation: ${0} 2s ease-in-out 0.5s infinite;
+ `),U6),({ownerState:e,theme:t})=>e.animation==="wave"&&zs(Jk||(Jk=pg`
+ position: relative;
+ overflow: hidden;
+
+ /* Fix bug in Safari https://bugs.webkit.org/show_bug.cgi?id=68196 */
+ -webkit-mask-image: -webkit-radial-gradient(white, black);
+
+ &::after {
+ animation: ${0} 2s linear 0.5s infinite;
+ background: linear-gradient(
+ 90deg,
+ transparent,
+ ${0},
+ transparent
+ );
+ content: '';
+ position: absolute;
+ transform: translateX(-100%); /* Avoid flash during server-side hydration */
+ bottom: 0;
+ left: 0;
+ right: 0;
+ top: 0;
+ }
+ `),K6,(t.vars||t).palette.action.hover)),X6=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiSkeleton"}),{animation:o="pulse",className:s,component:i="span",height:l,style:a,variant:c="text",width:u}=r,d=te(r,W6),f=x({},r,{animation:o,component:i,variant:c,hasChildren:!!d.children}),h=G6(f);return v.jsx(q6,x({as:i,ref:n,className:le(h.root,s),ownerState:f},d,{style:x({width:u,height:l},a)}))});function Y6(e={}){const{autoHideDuration:t=null,disableWindowBlurListener:n=!1,onClose:r,open:o,resumeHideDuration:s}=e,i=pr();p.useEffect(()=>{if(!o)return;function b(y){y.defaultPrevented||(y.key==="Escape"||y.key==="Esc")&&(r==null||r(y,"escapeKeyDown"))}return document.addEventListener("keydown",b),()=>{document.removeEventListener("keydown",b)}},[o,r]);const l=Ke((b,y)=>{r==null||r(b,y)}),a=Ke(b=>{!r||b==null||i.start(b,()=>{l(null,"timeout")})});p.useEffect(()=>(o&&a(t),i.clear),[o,t,a,i]);const c=b=>{r==null||r(b,"clickaway")},u=i.clear,d=p.useCallback(()=>{t!=null&&a(s??t*.5)},[t,s,a]),f=b=>y=>{const w=b.onBlur;w==null||w(y),d()},h=b=>y=>{const w=b.onFocus;w==null||w(y),u()},g=b=>y=>{const w=b.onMouseEnter;w==null||w(y),u()},m=b=>y=>{const w=b.onMouseLeave;w==null||w(y),d()};return p.useEffect(()=>{if(!n&&o)return window.addEventListener("focus",d),window.addEventListener("blur",u),()=>{window.removeEventListener("focus",d),window.removeEventListener("blur",u)}},[n,o,d,u]),{getRootProps:(b={})=>{const y=x({},sg(e),sg(b));return x({role:"presentation"},b,y,{onBlur:f(y),onFocus:h(y),onMouseEnter:g(y),onMouseLeave:m(y)})},onClickAway:c}}function Q6(e){return ze("MuiSnackbarContent",e)}Ne("MuiSnackbarContent",["root","message","action"]);const Z6=["action","className","message","role"],J6=e=>{const{classes:t}=e;return ve({root:["root"],action:["action"],message:["message"]},Q6,t)},eU=re(Gs,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>{const t=e.palette.mode==="light"?.8:.98,n=nH(e.palette.background.default,t);return x({},e.typography.body2,{color:e.vars?e.vars.palette.SnackbarContent.color:e.palette.getContrastText(n),backgroundColor:e.vars?e.vars.palette.SnackbarContent.bg:n,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:(e.vars||e).shape.borderRadius,flexGrow:1,[e.breakpoints.up("sm")]:{flexGrow:"initial",minWidth:288}})}),tU=re("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:(e,t)=>t.message})({padding:"8px 0"}),nU=re("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:(e,t)=>t.action})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),rU=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiSnackbarContent"}),{action:o,className:s,message:i,role:l="alert"}=r,a=te(r,Z6),c=r,u=J6(c);return v.jsxs(eU,x({role:l,square:!0,elevation:6,className:le(u.root,s),ownerState:c,ref:n},a,{children:[v.jsx(tU,{className:u.message,ownerState:c,children:i}),o?v.jsx(nU,{className:u.action,ownerState:c,children:o}):null]}))});function oU(e){return ze("MuiSnackbar",e)}Ne("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]);const sU=["onEnter","onExited"],iU=["action","anchorOrigin","autoHideDuration","children","className","ClickAwayListenerProps","ContentProps","disableWindowBlurListener","message","onBlur","onClose","onFocus","onMouseEnter","onMouseLeave","open","resumeHideDuration","TransitionComponent","transitionDuration","TransitionProps"],lU=e=>{const{classes:t,anchorOrigin:n}=e,r={root:["root",`anchorOrigin${oe(n.vertical)}${oe(n.horizontal)}`]};return ve(r,oU,t)},eP=re("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`anchorOrigin${oe(n.anchorOrigin.vertical)}${oe(n.anchorOrigin.horizontal)}`]]}})(({theme:e,ownerState:t})=>{const n={left:"50%",right:"auto",transform:"translateX(-50%)"};return x({zIndex:(e.vars||e).zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center"},t.anchorOrigin.vertical==="top"?{top:8}:{bottom:8},t.anchorOrigin.horizontal==="left"&&{justifyContent:"flex-start"},t.anchorOrigin.horizontal==="right"&&{justifyContent:"flex-end"},{[e.breakpoints.up("sm")]:x({},t.anchorOrigin.vertical==="top"?{top:24}:{bottom:24},t.anchorOrigin.horizontal==="center"&&n,t.anchorOrigin.horizontal==="left"&&{left:24,right:"auto"},t.anchorOrigin.horizontal==="right"&&{right:24,left:"auto"})})}),aU=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiSnackbar"}),o=tl(),s={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{action:i,anchorOrigin:{vertical:l,horizontal:a}={vertical:"bottom",horizontal:"left"},autoHideDuration:c=null,children:u,className:d,ClickAwayListenerProps:f,ContentProps:h,disableWindowBlurListener:g=!1,message:m,open:C,TransitionComponent:b=$c,transitionDuration:y=s,TransitionProps:{onEnter:w,onExited:S}={}}=r,k=te(r.TransitionProps,sU),P=te(r,iU),M=x({},r,{anchorOrigin:{vertical:l,horizontal:a},autoHideDuration:c,disableWindowBlurListener:g,TransitionComponent:b,transitionDuration:y}),I=lU(M),{getRootProps:E,onClickAway:T}=Y6(x({},M)),[D,$]=p.useState(!0),L=kr({elementType:eP,getSlotProps:E,externalForwardedProps:P,ownerState:M,additionalProps:{ref:n},className:[I.root,d]}),A=_=>{$(!0),S&&S(_)},R=(_,O)=>{$(!1),w&&w(_,O)};return!C&&D?null:v.jsx(CC,x({onClickAway:T},f,{children:v.jsx(eP,x({},L,{children:v.jsx(b,x({appear:!0,in:C,timeout:y,direction:l==="top"?"down":"up",onEnter:R,onExited:A},k,{children:u||v.jsx(rU,x({message:m,action:i},h))}))}))}))});function cU(e){return ze("MuiTooltip",e)}const Pi=Ne("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]),uU=["arrow","children","classes","components","componentsProps","describeChild","disableFocusListener","disableHoverListener","disableInteractive","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","id","leaveDelay","leaveTouchDelay","onClose","onOpen","open","placement","PopperComponent","PopperProps","slotProps","slots","title","TransitionComponent","TransitionProps"];function dU(e){return Math.round(e*1e5)/1e5}const fU=e=>{const{classes:t,disableInteractive:n,arrow:r,touch:o,placement:s}=e,i={popper:["popper",!n&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",o&&"touch",`tooltipPlacement${oe(s.split("-")[0])}`],arrow:["arrow"]};return ve(i,cU,t)},hU=re(oa,{name:"MuiTooltip",slot:"Popper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.popper,!n.disableInteractive&&t.popperInteractive,n.arrow&&t.popperArrow,!n.open&&t.popperClose]}})(({theme:e,ownerState:t,open:n})=>x({zIndex:(e.vars||e).zIndex.tooltip,pointerEvents:"none"},!t.disableInteractive&&{pointerEvents:"auto"},!n&&{pointerEvents:"none"},t.arrow&&{[`&[data-popper-placement*="bottom"] .${Pi.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${Pi.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${Pi.arrow}`]:x({},t.isRtl?{right:0,marginRight:"-0.71em"}:{left:0,marginLeft:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}}),[`&[data-popper-placement*="left"] .${Pi.arrow}`]:x({},t.isRtl?{left:0,marginLeft:"-0.71em"}:{right:0,marginRight:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}})})),pU=re("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.tooltip,n.touch&&t.touch,n.arrow&&t.tooltipArrow,t[`tooltipPlacement${oe(n.placement.split("-")[0])}`]]}})(({theme:e,ownerState:t})=>x({backgroundColor:e.vars?e.vars.palette.Tooltip.bg:bt(e.palette.grey[700],.92),borderRadius:(e.vars||e).shape.borderRadius,color:(e.vars||e).palette.common.white,fontFamily:e.typography.fontFamily,padding:"4px 8px",fontSize:e.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:e.typography.fontWeightMedium},t.arrow&&{position:"relative",margin:0},t.touch&&{padding:"8px 16px",fontSize:e.typography.pxToRem(14),lineHeight:`${dU(16/14)}em`,fontWeight:e.typography.fontWeightRegular},{[`.${Pi.popper}[data-popper-placement*="left"] &`]:x({transformOrigin:"right center"},t.isRtl?x({marginLeft:"14px"},t.touch&&{marginLeft:"24px"}):x({marginRight:"14px"},t.touch&&{marginRight:"24px"})),[`.${Pi.popper}[data-popper-placement*="right"] &`]:x({transformOrigin:"left center"},t.isRtl?x({marginRight:"14px"},t.touch&&{marginRight:"24px"}):x({marginLeft:"14px"},t.touch&&{marginLeft:"24px"})),[`.${Pi.popper}[data-popper-placement*="top"] &`]:x({transformOrigin:"center bottom",marginBottom:"14px"},t.touch&&{marginBottom:"24px"}),[`.${Pi.popper}[data-popper-placement*="bottom"] &`]:x({transformOrigin:"center top",marginTop:"14px"},t.touch&&{marginTop:"24px"})})),gU=re("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:(e,t)=>t.arrow})(({theme:e})=>({overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:e.vars?e.vars.palette.Tooltip.bg:bt(e.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}}));let _h=!1;const tP=new zf;let ju={x:0,y:0};function Th(e,t){return(n,...r)=>{t&&t(n,...r),e(n,...r)}}const tb=p.forwardRef(function(t,n){var r,o,s,i,l,a,c,u,d,f,h,g,m,C,b,y,w,S,k;const P=We({props:t,name:"MuiTooltip"}),{arrow:M=!1,children:I,components:E={},componentsProps:T={},describeChild:D=!1,disableFocusListener:$=!1,disableHoverListener:L=!1,disableInteractive:A=!1,disableTouchListener:R=!1,enterDelay:_=100,enterNextDelay:O=0,enterTouchDelay:F=700,followCursor:j=!1,id:z,leaveDelay:H=0,leaveTouchDelay:B=1500,onClose:G,onOpen:V,open:Z,placement:Q="bottom",PopperComponent:U,PopperProps:K={},slotProps:ee={},slots:de={},title:se,TransitionComponent:ge=$c,TransitionProps:q}=P,me=te(P,uU),ae=p.isValidElement(I)?I:v.jsx("span",{children:I}),ce=tl(),ye=Zc(),[ne,Oe]=p.useState(),[_e,Pe]=p.useState(null),He=p.useRef(!1),De=A||j,we=pr(),Ae=pr(),ie=pr(),be=pr(),[ue,Y]=Hi({controlled:Z,default:!1,name:"Tooltip",state:"open"});let xe=ue;const Re=gt(z),Ze=p.useRef(),Me=Ke(()=>{Ze.current!==void 0&&(document.body.style.WebkitUserSelect=Ze.current,Ze.current=void 0),be.clear()});p.useEffect(()=>Me,[Me]);const Se=je=>{tP.clear(),_h=!0,Y(!0),V&&!xe&&V(je)},pe=Ke(je=>{tP.start(800+H,()=>{_h=!1}),Y(!1),G&&xe&&G(je),we.start(ce.transitions.duration.shortest,()=>{He.current=!1})}),ke=je=>{He.current&&je.type!=="touchstart"||(ne&&ne.removeAttribute("title"),Ae.clear(),ie.clear(),_||_h&&O?Ae.start(_h?O:_,()=>{Se(je)}):Se(je))},Ge=je=>{Ae.clear(),ie.start(H,()=>{pe(je)})},{isFocusVisibleRef:Ye,onBlur:rt,onFocus:yt,ref:Ot}=Hm(),[,vn]=p.useState(!1),Ut=je=>{rt(je),Ye.current===!1&&(vn(!1),Ge(je))},Hn=je=>{ne||Oe(je.currentTarget),yt(je),Ye.current===!0&&(vn(!0),ke(je))},No=je=>{He.current=!0;const ct=ae.props;ct.onTouchStart&&ct.onTouchStart(je)},ps=je=>{No(je),ie.clear(),we.clear(),Me(),Ze.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",be.start(F,()=>{document.body.style.WebkitUserSelect=Ze.current,ke(je)})},Xs=je=>{ae.props.onTouchEnd&&ae.props.onTouchEnd(je),Me(),ie.start(B,()=>{pe(je)})};p.useEffect(()=>{if(!xe)return;function je(ct){(ct.key==="Escape"||ct.key==="Esc")&&pe(ct)}return document.addEventListener("keydown",je),()=>{document.removeEventListener("keydown",je)}},[pe,xe]);const Ys=vt(ra(ae),Ot,Oe,n);!se&&se!==0&&(xe=!1);const Mr=p.useRef(),In=je=>{const ct=ae.props;ct.onMouseMove&&ct.onMouseMove(je),ju={x:je.clientX,y:je.clientY},Mr.current&&Mr.current.update()},Vt={},Yn=typeof se=="string";D?(Vt.title=!xe&&Yn&&!L?se:null,Vt["aria-describedby"]=xe?Re:null):(Vt["aria-label"]=Yn?se:null,Vt["aria-labelledby"]=xe&&!Yn?Re:null);const or=x({},Vt,me,ae.props,{className:le(me.className,ae.props.className),onTouchStart:No,ref:Ys},j?{onMouseMove:In}:{}),gs={};R||(or.onTouchStart=ps,or.onTouchEnd=Xs),L||(or.onMouseOver=Th(ke,or.onMouseOver),or.onMouseLeave=Th(Ge,or.onMouseLeave),De||(gs.onMouseOver=ke,gs.onMouseLeave=Ge)),$||(or.onFocus=Th(Hn,or.onFocus),or.onBlur=Th(Ut,or.onBlur),De||(gs.onFocus=Hn,gs.onBlur=Ut));const wu=p.useMemo(()=>{var je;let ct=[{name:"arrow",enabled:!!_e,options:{element:_e,padding:4}}];return(je=K.popperOptions)!=null&&je.modifiers&&(ct=ct.concat(K.popperOptions.modifiers)),x({},K.popperOptions,{modifiers:ct})},[_e,K]),ms=x({},P,{isRtl:ye,arrow:M,disableInteractive:De,placement:Q,PopperComponentProp:U,touch:He.current}),Qs=fU(ms),Zs=(r=(o=de.popper)!=null?o:E.Popper)!=null?r:hU,Ho=(s=(i=(l=de.transition)!=null?l:E.Transition)!=null?i:ge)!=null?s:$c,bs=(a=(c=de.tooltip)!=null?c:E.Tooltip)!=null?a:pU,fe=(u=(d=de.arrow)!=null?d:E.Arrow)!=null?u:gU,J=Ha(Zs,x({},K,(f=ee.popper)!=null?f:T.popper,{className:le(Qs.popper,K==null?void 0:K.className,(h=(g=ee.popper)!=null?g:T.popper)==null?void 0:h.className)}),ms),Ie=Ha(Ho,x({},q,(m=ee.transition)!=null?m:T.transition),ms),Ve=Ha(bs,x({},(C=ee.tooltip)!=null?C:T.tooltip,{className:le(Qs.tooltip,(b=(y=ee.tooltip)!=null?y:T.tooltip)==null?void 0:b.className)}),ms),tt=Ha(fe,x({},(w=ee.arrow)!=null?w:T.arrow,{className:le(Qs.arrow,(S=(k=ee.arrow)!=null?k:T.arrow)==null?void 0:S.className)}),ms);return v.jsxs(p.Fragment,{children:[p.cloneElement(ae,or),v.jsx(Zs,x({as:U??oa,placement:Q,anchorEl:j?{getBoundingClientRect:()=>({top:ju.y,left:ju.x,right:ju.x,bottom:ju.y,width:0,height:0})}:ne,popperRef:Mr,open:ne?xe:!1,id:Re,transition:!0},gs,J,{popperOptions:wu,children:({TransitionProps:je})=>v.jsx(Ho,x({timeout:ce.transitions.duration.shorter},je,Ie,{children:v.jsxs(bs,x({},Ve,{children:[se,M?v.jsx(fe,x({},tt,{ref:Pe})):null]}))}))}))]})});function mU(e){return ze("MuiTab",e)}const ni=Ne("MuiTab",["root","labelIcon","textColorInherit","textColorPrimary","textColorSecondary","selected","disabled","fullWidth","wrapped","iconWrapper"]),bU=["className","disabled","disableFocusRipple","fullWidth","icon","iconPosition","indicator","label","onChange","onClick","onFocus","selected","selectionFollowsFocus","textColor","value","wrapped"],vU=e=>{const{classes:t,textColor:n,fullWidth:r,wrapped:o,icon:s,label:i,selected:l,disabled:a}=e,c={root:["root",s&&i&&"labelIcon",`textColor${oe(n)}`,r&&"fullWidth",o&&"wrapped",l&&"selected",a&&"disabled"],iconWrapper:["iconWrapper"]};return ve(c,mU,t)},yU=re(Xi,{name:"MuiTab",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.label&&n.icon&&t.labelIcon,t[`textColor${oe(n.textColor)}`],n.fullWidth&&t.fullWidth,n.wrapped&&t.wrapped,{[`& .${ni.iconWrapper}`]:t.iconWrapper}]}})(({theme:e,ownerState:t})=>x({},e.typography.button,{maxWidth:360,minWidth:90,position:"relative",minHeight:48,flexShrink:0,padding:"12px 16px",overflow:"hidden",whiteSpace:"normal",textAlign:"center"},t.label&&{flexDirection:t.iconPosition==="top"||t.iconPosition==="bottom"?"column":"row"},{lineHeight:1.25},t.icon&&t.label&&{minHeight:72,paddingTop:9,paddingBottom:9,[`& > .${ni.iconWrapper}`]:x({},t.iconPosition==="top"&&{marginBottom:6},t.iconPosition==="bottom"&&{marginTop:6},t.iconPosition==="start"&&{marginRight:e.spacing(1)},t.iconPosition==="end"&&{marginLeft:e.spacing(1)})},t.textColor==="inherit"&&{color:"inherit",opacity:.6,[`&.${ni.selected}`]:{opacity:1},[`&.${ni.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}},t.textColor==="primary"&&{color:(e.vars||e).palette.text.secondary,[`&.${ni.selected}`]:{color:(e.vars||e).palette.primary.main},[`&.${ni.disabled}`]:{color:(e.vars||e).palette.text.disabled}},t.textColor==="secondary"&&{color:(e.vars||e).palette.text.secondary,[`&.${ni.selected}`]:{color:(e.vars||e).palette.secondary.main},[`&.${ni.disabled}`]:{color:(e.vars||e).palette.text.disabled}},t.fullWidth&&{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"},t.wrapped&&{fontSize:e.typography.pxToRem(12)})),mp=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiTab"}),{className:o,disabled:s=!1,disableFocusRipple:i=!1,fullWidth:l,icon:a,iconPosition:c="top",indicator:u,label:d,onChange:f,onClick:h,onFocus:g,selected:m,selectionFollowsFocus:C,textColor:b="inherit",value:y,wrapped:w=!1}=r,S=te(r,bU),k=x({},r,{disabled:s,disableFocusRipple:i,selected:m,icon:!!a,iconPosition:c,label:!!d,fullWidth:l,textColor:b,wrapped:w}),P=vU(k),M=a&&d&&p.isValidElement(a)?p.cloneElement(a,{className:le(P.iconWrapper,a.props.className)}):a,I=T=>{!m&&f&&f(T,y),h&&h(T)},E=T=>{C&&!m&&f&&f(T,y),g&&g(T)};return v.jsxs(yU,x({focusRipple:!i,className:le(P.root,o),ref:n,role:"tab","aria-selected":m,disabled:s,onClick:I,onFocus:E,ownerState:k,tabIndex:m?0:-1},S,{children:[c==="top"||c==="start"?v.jsxs(p.Fragment,{children:[M,d]}):v.jsxs(p.Fragment,{children:[d,M]}),u]}))}),xU=p.createContext(),CU=p.createContext();function wU(e){return ze("MuiTableCell",e)}const SU=Ne("MuiTableCell",["root","head","body","footer","sizeSmall","sizeMedium","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","stickyHeader"]),kU=["align","className","component","padding","scope","size","sortDirection","variant"],PU=e=>{const{classes:t,variant:n,align:r,padding:o,size:s,stickyHeader:i}=e,l={root:["root",n,i&&"stickyHeader",r!=="inherit"&&`align${oe(r)}`,o!=="normal"&&`padding${oe(o)}`,`size${oe(s)}`]};return ve(l,wU,t)},MU=re("td",{name:"MuiTableCell",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`size${oe(n.size)}`],n.padding!=="normal"&&t[`padding${oe(n.padding)}`],n.align!=="inherit"&&t[`align${oe(n.align)}`],n.stickyHeader&&t.stickyHeader]}})(({theme:e,ownerState:t})=>x({},e.typography.body2,{display:"table-cell",verticalAlign:"inherit",borderBottom:e.vars?`1px solid ${e.vars.palette.TableCell.border}`:`1px solid
+ ${e.palette.mode==="light"?of(bt(e.palette.divider,1),.88):rf(bt(e.palette.divider,1),.68)}`,textAlign:"left",padding:16},t.variant==="head"&&{color:(e.vars||e).palette.text.primary,lineHeight:e.typography.pxToRem(24),fontWeight:e.typography.fontWeightMedium},t.variant==="body"&&{color:(e.vars||e).palette.text.primary},t.variant==="footer"&&{color:(e.vars||e).palette.text.secondary,lineHeight:e.typography.pxToRem(21),fontSize:e.typography.pxToRem(12)},t.size==="small"&&{padding:"6px 16px",[`&.${SU.paddingCheckbox}`]:{width:24,padding:"0 12px 0 16px","& > *":{padding:0}}},t.padding==="checkbox"&&{width:48,padding:"0 0 0 4px"},t.padding==="none"&&{padding:0},t.align==="left"&&{textAlign:"left"},t.align==="center"&&{textAlign:"center"},t.align==="right"&&{textAlign:"right",flexDirection:"row-reverse"},t.align==="justify"&&{textAlign:"justify"},t.stickyHeader&&{position:"sticky",top:0,zIndex:2,backgroundColor:(e.vars||e).palette.background.default})),hx=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiTableCell"}),{align:o="inherit",className:s,component:i,padding:l,scope:a,size:c,sortDirection:u,variant:d}=r,f=te(r,kU),h=p.useContext(xU),g=p.useContext(CU),m=g&&g.variant==="head";let C;i?C=i:C=m?"th":"td";let b=a;C==="td"?b=void 0:!b&&m&&(b="col");const y=d||g&&g.variant,w=x({},r,{align:o,component:C,padding:l||(h&&h.padding?h.padding:"normal"),size:c||(h&&h.size?h.size:"medium"),sortDirection:u,stickyHeader:y==="head"&&h&&h.stickyHeader,variant:y}),S=PU(w);let k=null;return u&&(k=u==="asc"?"ascending":"descending"),v.jsx(MU,x({as:C,ref:n,className:le(S.root,s),"aria-sort":k,scope:b,ownerState:w},f))});function IU(e){return ze("MuiToolbar",e)}Ne("MuiToolbar",["root","gutters","regular","dense"]);const EU=["className","component","disableGutters","variant"],_U=e=>{const{classes:t,disableGutters:n,variant:r}=e;return ve({root:["root",!n&&"gutters",r]},IU,t)},TU=re("div",{name:"MuiToolbar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableGutters&&t.gutters,t[n.variant]]}})(({theme:e,ownerState:t})=>x({position:"relative",display:"flex",alignItems:"center"},!t.disableGutters&&{paddingLeft:e.spacing(2),paddingRight:e.spacing(2),[e.breakpoints.up("sm")]:{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}},t.variant==="dense"&&{minHeight:48}),({theme:e,ownerState:t})=>t.variant==="regular"&&e.mixins.toolbar),RU=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiToolbar"}),{className:o,component:s="div",disableGutters:i=!1,variant:l="regular"}=r,a=te(r,EU),c=x({},r,{component:s,disableGutters:i,variant:l}),u=_U(c);return v.jsx(TU,x({as:s,className:le(u.root,o),ref:n,ownerState:c},a))}),sO=Qe(v.jsx("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft"),iO=Qe(v.jsx("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight"),OU=["backIconButtonProps","count","disabled","getItemAriaLabel","nextIconButtonProps","onPageChange","page","rowsPerPage","showFirstButton","showLastButton","slots","slotProps"],$U=p.forwardRef(function(t,n){var r,o,s,i,l,a,c,u;const{backIconButtonProps:d,count:f,disabled:h=!1,getItemAriaLabel:g,nextIconButtonProps:m,onPageChange:C,page:b,rowsPerPage:y,showFirstButton:w,showLastButton:S,slots:k={},slotProps:P={}}=t,M=te(t,OU),I=Zc(),E=ee=>{C(ee,0)},T=ee=>{C(ee,b-1)},D=ee=>{C(ee,b+1)},$=ee=>{C(ee,Math.max(0,Math.ceil(f/y)-1))},L=(r=k.firstButton)!=null?r:gr,A=(o=k.lastButton)!=null?o:gr,R=(s=k.nextButton)!=null?s:gr,_=(i=k.previousButton)!=null?i:gr,O=(l=k.firstButtonIcon)!=null?l:I6,F=(a=k.lastButtonIcon)!=null?a:E6,j=(c=k.nextButtonIcon)!=null?c:iO,z=(u=k.previousButtonIcon)!=null?u:sO,H=I?A:L,B=I?R:_,G=I?_:R,V=I?L:A,Z=I?P.lastButton:P.firstButton,Q=I?P.nextButton:P.previousButton,U=I?P.previousButton:P.nextButton,K=I?P.firstButton:P.lastButton;return v.jsxs("div",x({ref:n},M,{children:[w&&v.jsx(H,x({onClick:E,disabled:h||b===0,"aria-label":g("first",b),title:g("first",b)},Z,{children:I?v.jsx(F,x({},P.lastButtonIcon)):v.jsx(O,x({},P.firstButtonIcon))})),v.jsx(B,x({onClick:T,disabled:h||b===0,color:"inherit","aria-label":g("previous",b),title:g("previous",b)},Q??d,{children:I?v.jsx(j,x({},P.nextButtonIcon)):v.jsx(z,x({},P.previousButtonIcon))})),v.jsx(G,x({onClick:D,disabled:h||(f!==-1?b>=Math.ceil(f/y)-1:!1),color:"inherit","aria-label":g("next",b),title:g("next",b)},U??m,{children:I?v.jsx(z,x({},P.previousButtonIcon)):v.jsx(j,x({},P.nextButtonIcon))})),S&&v.jsx(V,x({onClick:$,disabled:h||b>=Math.ceil(f/y)-1,"aria-label":g("last",b),title:g("last",b)},K,{children:I?v.jsx(O,x({},P.firstButtonIcon)):v.jsx(F,x({},P.lastButtonIcon))}))]}))});function FU(e){return ze("MuiTablePagination",e)}const jl=Ne("MuiTablePagination",["root","toolbar","spacer","selectLabel","selectRoot","select","selectIcon","input","menuItem","displayedRows","actions"]);var nP;const LU=["ActionsComponent","backIconButtonProps","className","colSpan","component","count","disabled","getItemAriaLabel","labelDisplayedRows","labelRowsPerPage","nextIconButtonProps","onPageChange","onRowsPerPageChange","page","rowsPerPage","rowsPerPageOptions","SelectProps","showFirstButton","showLastButton","slotProps","slots"],DU=re(hx,{name:"MuiTablePagination",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({overflow:"auto",color:(e.vars||e).palette.text.primary,fontSize:e.typography.pxToRem(14),"&:last-child":{padding:0}})),AU=re(RU,{name:"MuiTablePagination",slot:"Toolbar",overridesResolver:(e,t)=>x({[`& .${jl.actions}`]:t.actions},t.toolbar)})(({theme:e})=>({minHeight:52,paddingRight:2,[`${e.breakpoints.up("xs")} and (orientation: landscape)`]:{minHeight:52},[e.breakpoints.up("sm")]:{minHeight:52,paddingRight:2},[`& .${jl.actions}`]:{flexShrink:0,marginLeft:20}})),jU=re("div",{name:"MuiTablePagination",slot:"Spacer",overridesResolver:(e,t)=>t.spacer})({flex:"1 1 100%"}),zU=re("p",{name:"MuiTablePagination",slot:"SelectLabel",overridesResolver:(e,t)=>t.selectLabel})(({theme:e})=>x({},e.typography.body2,{flexShrink:0})),NU=re(lu,{name:"MuiTablePagination",slot:"Select",overridesResolver:(e,t)=>x({[`& .${jl.selectIcon}`]:t.selectIcon,[`& .${jl.select}`]:t.select},t.input,t.selectRoot)})({color:"inherit",fontSize:"inherit",flexShrink:0,marginRight:32,marginLeft:8,[`& .${jl.select}`]:{paddingLeft:8,paddingRight:24,textAlign:"right",textAlignLast:"right"}}),HU=re(cn,{name:"MuiTablePagination",slot:"MenuItem",overridesResolver:(e,t)=>t.menuItem})({}),BU=re("p",{name:"MuiTablePagination",slot:"DisplayedRows",overridesResolver:(e,t)=>t.displayedRows})(({theme:e})=>x({},e.typography.body2,{flexShrink:0}));function VU({from:e,to:t,count:n}){return`${e}–${t} of ${n!==-1?n:`more than ${t}`}`}function WU(e){return`Go to ${e} page`}const GU=e=>{const{classes:t}=e;return ve({root:["root"],toolbar:["toolbar"],spacer:["spacer"],selectLabel:["selectLabel"],select:["select"],input:["input"],selectIcon:["selectIcon"],menuItem:["menuItem"],displayedRows:["displayedRows"],actions:["actions"]},FU,t)},UU=p.forwardRef(function(t,n){var r;const o=We({props:t,name:"MuiTablePagination"}),{ActionsComponent:s=$U,backIconButtonProps:i,className:l,colSpan:a,component:c=hx,count:u,disabled:d=!1,getItemAriaLabel:f=WU,labelDisplayedRows:h=VU,labelRowsPerPage:g="Rows per page:",nextIconButtonProps:m,onPageChange:C,onRowsPerPageChange:b,page:y,rowsPerPage:w,rowsPerPageOptions:S=[10,25,50,100],SelectProps:k={},showFirstButton:P=!1,showLastButton:M=!1,slotProps:I={},slots:E={}}=o,T=te(o,LU),D=o,$=GU(D),L=(r=I==null?void 0:I.select)!=null?r:k,A=L.native?"option":HU;let R;(c===hx||c==="td")&&(R=a||1e3);const _=gt(L.id),O=gt(L.labelId),F=()=>u===-1?(y+1)*w:w===-1?u:Math.min(u,(y+1)*w);return v.jsx(DU,x({colSpan:R,ref:n,as:c,ownerState:D,className:le($.root,l)},T,{children:v.jsxs(AU,{className:$.toolbar,children:[v.jsx(jU,{className:$.spacer}),S.length>1&&v.jsx(zU,{className:$.selectLabel,id:O,children:g}),S.length>1&&v.jsx(NU,x({variant:"standard"},!L.variant&&{input:nP||(nP=v.jsx(tu,{}))},{value:w,onChange:b,id:_,labelId:O},L,{classes:x({},L.classes,{root:le($.input,$.selectRoot,(L.classes||{}).root),select:le($.select,(L.classes||{}).select),icon:le($.selectIcon,(L.classes||{}).icon)}),disabled:d,children:S.map(j=>p.createElement(A,x({},!ef(A)&&{ownerState:D},{className:$.menuItem,key:j.label?j.label:j,value:j.value?j.value:j}),j.label?j.label:j))})),v.jsx(BU,{className:$.displayedRows,children:h({from:u===0?0:y*w+1,to:F(),count:u===-1?-1:u,page:y})}),v.jsx(s,{className:$.actions,backIconButtonProps:i,count:u,nextIconButtonProps:m,onPageChange:C,page:y,rowsPerPage:w,showFirstButton:P,showLastButton:M,slotProps:I.actions,slots:E.actions,getItemAriaLabel:f,disabled:d})]})}))});function KU(e){return(1+Math.sin(Math.PI*e-Math.PI/2))/2}function qU(e,t,n,r={},o=()=>{}){const{ease:s=KU,duration:i=300}=r;let l=null;const a=t[e];let c=!1;const u=()=>{c=!0},d=f=>{if(c){o(new Error("Animation cancelled"));return}l===null&&(l=f);const h=Math.min(1,(f-l)/i);if(t[e]=s(h)*(n-a)+a,h>=1){requestAnimationFrame(()=>{o(null)});return}requestAnimationFrame(d)};return a===n?(o(new Error("Element already at target position")),u):(requestAnimationFrame(d),u)}const XU=["onChange"],YU={width:99,height:99,position:"absolute",top:-9999,overflow:"scroll"};function QU(e){const{onChange:t}=e,n=te(e,XU),r=p.useRef(),o=p.useRef(null),s=()=>{r.current=o.current.offsetHeight-o.current.clientHeight};return Et(()=>{const i=Qc(()=>{const a=r.current;s(),a!==r.current&&t(r.current)}),l=Do(o.current);return l.addEventListener("resize",i),()=>{i.clear(),l.removeEventListener("resize",i)}},[t]),p.useEffect(()=>{s(),t(r.current)},[t]),v.jsx("div",x({style:YU},n,{ref:o}))}function ZU(e){return ze("MuiTabScrollButton",e)}const JU=Ne("MuiTabScrollButton",["root","vertical","horizontal","disabled"]),e8=["className","slots","slotProps","direction","orientation","disabled"],t8=e=>{const{classes:t,orientation:n,disabled:r}=e;return ve({root:["root",n,r&&"disabled"]},ZU,t)},n8=re(Xi,{name:"MuiTabScrollButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.orientation&&t[n.orientation]]}})(({ownerState:e})=>x({width:40,flexShrink:0,opacity:.8,[`&.${JU.disabled}`]:{opacity:0}},e.orientation==="vertical"&&{width:"100%",height:40,"& svg":{transform:`rotate(${e.isRtl?-90:90}deg)`}})),r8=p.forwardRef(function(t,n){var r,o;const s=We({props:t,name:"MuiTabScrollButton"}),{className:i,slots:l={},slotProps:a={},direction:c}=s,u=te(s,e8),d=Zc(),f=x({isRtl:d},s),h=t8(f),g=(r=l.StartScrollButtonIcon)!=null?r:sO,m=(o=l.EndScrollButtonIcon)!=null?o:iO,C=kr({elementType:g,externalSlotProps:a.startScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:f}),b=kr({elementType:m,externalSlotProps:a.endScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:f});return v.jsx(n8,x({component:"div",className:le(h.root,i),ref:n,role:null,ownerState:f,tabIndex:null},u,{children:c==="left"?v.jsx(g,x({},C)):v.jsx(m,x({},b))}))});function o8(e){return ze("MuiTabs",e)}const mv=Ne("MuiTabs",["root","vertical","flexContainer","flexContainerVertical","centered","scroller","fixed","scrollableX","scrollableY","hideScrollbar","scrollButtons","scrollButtonsHideMobile","indicator"]),s8=["aria-label","aria-labelledby","action","centered","children","className","component","allowScrollButtonsMobile","indicatorColor","onChange","orientation","ScrollButtonComponent","scrollButtons","selectionFollowsFocus","slots","slotProps","TabIndicatorProps","TabScrollButtonProps","textColor","value","variant","visibleScrollbar"],rP=(e,t)=>e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:e.firstChild,oP=(e,t)=>e===t?e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:e.lastChild,Rh=(e,t,n)=>{let r=!1,o=n(e,t);for(;o;){if(o===e.firstChild){if(r)return;r=!0}const s=o.disabled||o.getAttribute("aria-disabled")==="true";if(!o.hasAttribute("tabindex")||s)o=n(e,o);else{o.focus();return}}},i8=e=>{const{vertical:t,fixed:n,hideScrollbar:r,scrollableX:o,scrollableY:s,centered:i,scrollButtonsHideMobile:l,classes:a}=e;return ve({root:["root",t&&"vertical"],scroller:["scroller",n&&"fixed",r&&"hideScrollbar",o&&"scrollableX",s&&"scrollableY"],flexContainer:["flexContainer",t&&"flexContainerVertical",i&&"centered"],indicator:["indicator"],scrollButtons:["scrollButtons",l&&"scrollButtonsHideMobile"],scrollableX:[o&&"scrollableX"],hideScrollbar:[r&&"hideScrollbar"]},o8,a)},l8=re("div",{name:"MuiTabs",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${mv.scrollButtons}`]:t.scrollButtons},{[`& .${mv.scrollButtons}`]:n.scrollButtonsHideMobile&&t.scrollButtonsHideMobile},t.root,n.vertical&&t.vertical]}})(({ownerState:e,theme:t})=>x({overflow:"hidden",minHeight:48,WebkitOverflowScrolling:"touch",display:"flex"},e.vertical&&{flexDirection:"column"},e.scrollButtonsHideMobile&&{[`& .${mv.scrollButtons}`]:{[t.breakpoints.down("sm")]:{display:"none"}}})),a8=re("div",{name:"MuiTabs",slot:"Scroller",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.scroller,n.fixed&&t.fixed,n.hideScrollbar&&t.hideScrollbar,n.scrollableX&&t.scrollableX,n.scrollableY&&t.scrollableY]}})(({ownerState:e})=>x({position:"relative",display:"inline-block",flex:"1 1 auto",whiteSpace:"nowrap"},e.fixed&&{overflowX:"hidden",width:"100%"},e.hideScrollbar&&{scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}},e.scrollableX&&{overflowX:"auto",overflowY:"hidden"},e.scrollableY&&{overflowY:"auto",overflowX:"hidden"})),c8=re("div",{name:"MuiTabs",slot:"FlexContainer",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.flexContainer,n.vertical&&t.flexContainerVertical,n.centered&&t.centered]}})(({ownerState:e})=>x({display:"flex"},e.vertical&&{flexDirection:"column"},e.centered&&{justifyContent:"center"})),u8=re("span",{name:"MuiTabs",slot:"Indicator",overridesResolver:(e,t)=>t.indicator})(({ownerState:e,theme:t})=>x({position:"absolute",height:2,bottom:0,width:"100%",transition:t.transitions.create()},e.indicatorColor==="primary"&&{backgroundColor:(t.vars||t).palette.primary.main},e.indicatorColor==="secondary"&&{backgroundColor:(t.vars||t).palette.secondary.main},e.vertical&&{height:"100%",width:2,right:0})),d8=re(QU)({overflowX:"auto",overflowY:"hidden",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),sP={},lO=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiTabs"}),o=tl(),s=Zc(),{"aria-label":i,"aria-labelledby":l,action:a,centered:c=!1,children:u,className:d,component:f="div",allowScrollButtonsMobile:h=!1,indicatorColor:g="primary",onChange:m,orientation:C="horizontal",ScrollButtonComponent:b=r8,scrollButtons:y="auto",selectionFollowsFocus:w,slots:S={},slotProps:k={},TabIndicatorProps:P={},TabScrollButtonProps:M={},textColor:I="primary",value:E,variant:T="standard",visibleScrollbar:D=!1}=r,$=te(r,s8),L=T==="scrollable",A=C==="vertical",R=A?"scrollTop":"scrollLeft",_=A?"top":"left",O=A?"bottom":"right",F=A?"clientHeight":"clientWidth",j=A?"height":"width",z=x({},r,{component:f,allowScrollButtonsMobile:h,indicatorColor:g,orientation:C,vertical:A,scrollButtons:y,textColor:I,variant:T,visibleScrollbar:D,fixed:!L,hideScrollbar:L&&!D,scrollableX:L&&!A,scrollableY:L&&A,centered:c&&!L,scrollButtonsHideMobile:!h}),H=i8(z),B=kr({elementType:S.StartScrollButtonIcon,externalSlotProps:k.startScrollButtonIcon,ownerState:z}),G=kr({elementType:S.EndScrollButtonIcon,externalSlotProps:k.endScrollButtonIcon,ownerState:z}),[V,Z]=p.useState(!1),[Q,U]=p.useState(sP),[K,ee]=p.useState(!1),[de,se]=p.useState(!1),[ge,q]=p.useState(!1),[me,ae]=p.useState({overflow:"hidden",scrollbarWidth:0}),ce=new Map,ye=p.useRef(null),ne=p.useRef(null),Oe=()=>{const pe=ye.current;let ke;if(pe){const Ye=pe.getBoundingClientRect();ke={clientWidth:pe.clientWidth,scrollLeft:pe.scrollLeft,scrollTop:pe.scrollTop,scrollLeftNormalized:PN(pe,s?"rtl":"ltr"),scrollWidth:pe.scrollWidth,top:Ye.top,bottom:Ye.bottom,left:Ye.left,right:Ye.right}}let Ge;if(pe&&E!==!1){const Ye=ne.current.children;if(Ye.length>0){const rt=Ye[ce.get(E)];Ge=rt?rt.getBoundingClientRect():null}}return{tabsMeta:ke,tabMeta:Ge}},_e=Ke(()=>{const{tabsMeta:pe,tabMeta:ke}=Oe();let Ge=0,Ye;if(A)Ye="top",ke&&pe&&(Ge=ke.top-pe.top+pe.scrollTop);else if(Ye=s?"right":"left",ke&&pe){const yt=s?pe.scrollLeftNormalized+pe.clientWidth-pe.scrollWidth:pe.scrollLeft;Ge=(s?-1:1)*(ke[Ye]-pe[Ye]+yt)}const rt={[Ye]:Ge,[j]:ke?ke[j]:0};if(isNaN(Q[Ye])||isNaN(Q[j]))U(rt);else{const yt=Math.abs(Q[Ye]-rt[Ye]),Ot=Math.abs(Q[j]-rt[j]);(yt>=1||Ot>=1)&&U(rt)}}),Pe=(pe,{animation:ke=!0}={})=>{ke?qU(R,ye.current,pe,{duration:o.transitions.duration.standard}):ye.current[R]=pe},He=pe=>{let ke=ye.current[R];A?ke+=pe:(ke+=pe*(s?-1:1),ke*=s&&lR()==="reverse"?-1:1),Pe(ke)},De=()=>{const pe=ye.current[F];let ke=0;const Ge=Array.from(ne.current.children);for(let Ye=0;Yepe){Ye===0&&(ke=pe);break}ke+=rt[F]}return ke},we=()=>{He(-1*De())},Ae=()=>{He(De())},ie=p.useCallback(pe=>{ae({overflow:null,scrollbarWidth:pe})},[]),be=()=>{const pe={};pe.scrollbarSizeListener=L?v.jsx(d8,{onChange:ie,className:le(H.scrollableX,H.hideScrollbar)}):null;const Ge=L&&(y==="auto"&&(K||de)||y===!0);return pe.scrollButtonStart=Ge?v.jsx(b,x({slots:{StartScrollButtonIcon:S.StartScrollButtonIcon},slotProps:{startScrollButtonIcon:B},orientation:C,direction:s?"right":"left",onClick:we,disabled:!K},M,{className:le(H.scrollButtons,M.className)})):null,pe.scrollButtonEnd=Ge?v.jsx(b,x({slots:{EndScrollButtonIcon:S.EndScrollButtonIcon},slotProps:{endScrollButtonIcon:G},orientation:C,direction:s?"left":"right",onClick:Ae,disabled:!de},M,{className:le(H.scrollButtons,M.className)})):null,pe},ue=Ke(pe=>{const{tabsMeta:ke,tabMeta:Ge}=Oe();if(!(!Ge||!ke)){if(Ge[_]ke[O]){const Ye=ke[R]+(Ge[O]-ke[O]);Pe(Ye,{animation:pe})}}}),Y=Ke(()=>{L&&y!==!1&&q(!ge)});p.useEffect(()=>{const pe=Qc(()=>{ye.current&&_e()});let ke;const Ge=yt=>{yt.forEach(Ot=>{Ot.removedNodes.forEach(vn=>{var Ut;(Ut=ke)==null||Ut.unobserve(vn)}),Ot.addedNodes.forEach(vn=>{var Ut;(Ut=ke)==null||Ut.observe(vn)})}),pe(),Y()},Ye=Do(ye.current);Ye.addEventListener("resize",pe);let rt;return typeof ResizeObserver<"u"&&(ke=new ResizeObserver(pe),Array.from(ne.current.children).forEach(yt=>{ke.observe(yt)})),typeof MutationObserver<"u"&&(rt=new MutationObserver(Ge),rt.observe(ne.current,{childList:!0})),()=>{var yt,Ot;pe.clear(),Ye.removeEventListener("resize",pe),(yt=rt)==null||yt.disconnect(),(Ot=ke)==null||Ot.disconnect()}},[_e,Y]),p.useEffect(()=>{const pe=Array.from(ne.current.children),ke=pe.length;if(typeof IntersectionObserver<"u"&&ke>0&&L&&y!==!1){const Ge=pe[0],Ye=pe[ke-1],rt={root:ye.current,threshold:.99},yt=Hn=>{ee(!Hn[0].isIntersecting)},Ot=new IntersectionObserver(yt,rt);Ot.observe(Ge);const vn=Hn=>{se(!Hn[0].isIntersecting)},Ut=new IntersectionObserver(vn,rt);return Ut.observe(Ye),()=>{Ot.disconnect(),Ut.disconnect()}}},[L,y,ge,u==null?void 0:u.length]),p.useEffect(()=>{Z(!0)},[]),p.useEffect(()=>{_e()}),p.useEffect(()=>{ue(sP!==Q)},[ue,Q]),p.useImperativeHandle(a,()=>({updateIndicator:_e,updateScrollButtons:Y}),[_e,Y]);const xe=v.jsx(u8,x({},P,{className:le(H.indicator,P.className),ownerState:z,style:x({},Q,P.style)}));let Re=0;const Ze=p.Children.map(u,pe=>{if(!p.isValidElement(pe))return null;const ke=pe.props.value===void 0?Re:pe.props.value;ce.set(ke,Re);const Ge=ke===E;return Re+=1,p.cloneElement(pe,x({fullWidth:T==="fullWidth",indicator:Ge&&!V&&xe,selected:Ge,selectionFollowsFocus:w,onChange:m,textColor:I,value:ke},Re===1&&E===!1&&!pe.props.tabIndex?{tabIndex:0}:{}))}),Me=pe=>{const ke=ne.current,Ge=Ft(ke).activeElement;if(Ge.getAttribute("role")!=="tab")return;let rt=C==="horizontal"?"ArrowLeft":"ArrowUp",yt=C==="horizontal"?"ArrowRight":"ArrowDown";switch(C==="horizontal"&&s&&(rt="ArrowRight",yt="ArrowLeft"),pe.key){case rt:pe.preventDefault(),Rh(ke,Ge,oP);break;case yt:pe.preventDefault(),Rh(ke,Ge,rP);break;case"Home":pe.preventDefault(),Rh(ke,null,rP);break;case"End":pe.preventDefault(),Rh(ke,null,oP);break}},Se=be();return v.jsxs(l8,x({className:le(H.root,d),ownerState:z,ref:n,as:f},$,{children:[Se.scrollButtonStart,Se.scrollbarSizeListener,v.jsxs(a8,{className:H.scroller,ownerState:z,style:{overflow:me.overflow,[A?`margin${s?"Left":"Right"}`:"marginBottom"]:D?void 0:-me.scrollbarWidth},ref:ye,children:[v.jsx(c8,{"aria-label":i,"aria-labelledby":l,"aria-orientation":C==="vertical"?"vertical":null,className:H.flexContainer,ownerState:z,onKeyDown:Me,ref:ne,role:"tablist",children:Ze}),V&&xe]}),Se.scrollButtonEnd]}))});function f8(e){return ze("MuiTextField",e)}Ne("MuiTextField",["root"]);const h8=["autoComplete","autoFocus","children","className","color","defaultValue","disabled","error","FormHelperTextProps","fullWidth","helperText","id","InputLabelProps","inputProps","InputProps","inputRef","label","maxRows","minRows","multiline","name","onBlur","onChange","onFocus","placeholder","required","rows","select","SelectProps","type","value","variant"],p8={standard:kC,filled:SC,outlined:IC},g8=e=>{const{classes:t}=e;return ve({root:["root"]},f8,t)},m8=re(Qm,{name:"MuiTextField",slot:"Root",overridesResolver:(e,t)=>t.root})({}),$o=p.forwardRef(function(t,n){const r=We({props:t,name:"MuiTextField"}),{autoComplete:o,autoFocus:s=!1,children:i,className:l,color:a="primary",defaultValue:c,disabled:u=!1,error:d=!1,FormHelperTextProps:f,fullWidth:h=!1,helperText:g,id:m,InputLabelProps:C,inputProps:b,InputProps:y,inputRef:w,label:S,maxRows:k,minRows:P,multiline:M=!1,name:I,onBlur:E,onChange:T,onFocus:D,placeholder:$,required:L=!1,rows:A,select:R=!1,SelectProps:_,type:O,value:F,variant:j="outlined"}=r,z=te(r,h8),H=x({},r,{autoFocus:s,color:a,disabled:u,error:d,fullWidth:h,multiline:M,required:L,select:R,variant:j}),B=g8(H),G={};j==="outlined"&&(C&&typeof C.shrink<"u"&&(G.notched=C.shrink),G.label=S),R&&((!_||!_.native)&&(G.id=void 0),G["aria-describedby"]=void 0);const V=gt(m),Z=g&&V?`${V}-helper-text`:void 0,Q=S&&V?`${V}-label`:void 0,U=p8[j],K=v.jsx(U,x({"aria-describedby":Z,autoComplete:o,autoFocus:s,defaultValue:c,fullWidth:h,multiline:M,name:I,rows:A,maxRows:k,minRows:P,type:O,value:F,id:V,inputRef:w,onBlur:E,onChange:T,onFocus:D,placeholder:$,inputProps:b},G,y));return v.jsxs(m8,x({className:le(B.root,l),disabled:u,error:d,fullWidth:h,ref:n,required:L,color:a,variant:j,ownerState:H},z,{children:[S!=null&&S!==""&&v.jsx(Zm,x({htmlFor:V,id:Q},C,{children:S})),R?v.jsx(lu,x({"aria-describedby":Z,id:V,labelId:Q,value:F,input:K},_,{children:i})):K,g&&v.jsx(OW,x({id:Z},f,{children:g}))]}))}),aO=p.createContext(null);let b8=0;function v8({children:e}){const[t,n]=p.useState([]),r=p.useCallback((l,a,c)=>{const u=b8++;n(d=>[...d,{id:u,title:l,message:a,severity:c}])},[]),o=p.useCallback(l=>{n(a=>a.filter(c=>c.id!==l))},[]),s=p.useCallback((l,a)=>r(l,a,"success"),[r]),i=p.useCallback((l,a)=>r(l,a,"error"),[r]);return v.jsxs(aO.Provider,{value:{showSuccess:s,showError:i},children:[e,t.map(l=>v.jsx(aU,{open:!0,autoHideDuration:5e3,onClose:()=>o(l.id),anchorOrigin:{vertical:"top",horizontal:"center"},children:v.jsxs(cB,{onClose:()=>o(l.id),severity:l.severity,variant:"filled",sx:{width:"100%",maxWidth:500},children:[v.jsx("strong",{children:l.title}),l.message&&` - ${l.message}`]})},l.id))]})}function ia(){const e=p.useContext(MR);if(!e)throw new Error("useRepository must be used within RepositoryProvider");return e}function y8(){const{repositories:e,current:t,setCurrent:n}=ia();if(e.length===0||!t)return null;const r=e.findIndex(o=>o.architecture===t.architecture&&o.repository===t.repository);return v.jsx(Tt,{sx:{borderBottom:1,borderColor:"divider"},children:v.jsx(lO,{value:r>=0?r:0,onChange:(o,s)=>n(e[s]),variant:"scrollable",scrollButtons:"auto",children:e.map(o=>v.jsx(mp,{label:`${o.repository} (${o.architecture})`},`${o.architecture}-${o.repository}`))})})}var _C={},bv={};const x8=Vs(y5);var iP;function hn(){return iP||(iP=1,function(e){"use client";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=x8}(bv)),bv}var C8=Qt;Object.defineProperty(_C,"__esModule",{value:!0});var cO=_C.default=void 0;k8(p);var w8=C8(hn()),S8=v;function uO(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,n=new WeakMap;return(uO=function(r){return r?n:t})(e)}function k8(e,t){if(e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var n=uO(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(s!=="default"&&Object.prototype.hasOwnProperty.call(e,s)){var i=o?Object.getOwnPropertyDescriptor(e,s):null;i&&(i.get||i.set)?Object.defineProperty(r,s,i):r[s]=e[s]}return r.default=e,n&&n.set(e,r),r}cO=_C.default=(0,w8.default)((0,S8.jsx)("path",{d:"M12 1.27a11 11 0 00-3.48 21.46c.55.09.73-.28.73-.55v-1.84c-3.03.64-3.67-1.46-3.67-1.46-.55-1.29-1.28-1.65-1.28-1.65-.92-.65.1-.65.1-.65 1.1 0 1.73 1.1 1.73 1.1.92 1.65 2.57 1.2 3.21.92a2 2 0 01.64-1.47c-2.47-.27-5.04-1.19-5.04-5.5 0-1.1.46-2.1 1.2-2.84a3.76 3.76 0 010-2.93s.91-.28 3.11 1.1c1.8-.49 3.7-.49 5.5 0 2.1-1.38 3.02-1.1 3.02-1.1a3.76 3.76 0 010 2.93c.83.74 1.2 1.74 1.2 2.94 0 4.21-2.57 5.13-5.04 5.4.45.37.82.92.82 2.02v3.03c0 .27.1.64.73.55A11 11 0 0012 1.27"}),"GitHub");var TC={},P8=Qt;Object.defineProperty(TC,"__esModule",{value:!0});var dO=TC.default=void 0,M8=P8(hn()),I8=v;dO=TC.default=(0,M8.default)((0,I8.jsx)("path",{d:"m17 7-1.41 1.41L18.17 11H8v2h10.17l-2.58 2.58L17 17l5-5zM4 5h8V3H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h8v-2H4z"}),"Logout");var RC={},E8=Qt;Object.defineProperty(RC,"__esModule",{value:!0});var fO=RC.default=void 0,_8=E8(hn()),T8=v;fO=RC.default=(0,_8.default)((0,T8.jsx)("path",{d:"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"}),"Home");function Vf(){const e=p.useContext(PR);if(!e)throw new Error("useAuth must be used within AuthProvider");return e}function R8({version:e,docsEnabled:t,indexUrl:n,onLoginClick:r}){const{enabled:o,username:s,logout:i}=Vf(),l=async()=>{await i(),window.location.href="/"};return v.jsxs(Tt,{component:"footer",sx:{display:"flex",flexWrap:"wrap",justifyContent:"space-between",alignItems:"center",borderTop:1,borderColor:"divider",mt:2,py:1},children:[v.jsxs(Tt,{sx:{display:"flex",gap:2,alignItems:"center"},children:[v.jsxs(pi,{href:"https://github.com/arcan1s/ahriman",underline:"hover",color:"inherit",sx:{display:"flex",alignItems:"center",gap:.5},children:[v.jsx(cO,{fontSize:"small"}),v.jsxs(ot,{variant:"body2",children:["ahriman ",e]})]}),v.jsx(pi,{href:"https://github.com/arcan1s/ahriman/releases",underline:"hover",color:"text.secondary",variant:"body2",children:"releases"}),v.jsx(pi,{href:"https://github.com/arcan1s/ahriman/issues",underline:"hover",color:"text.secondary",variant:"body2",children:"report a bug"}),t&&v.jsx(pi,{href:"/api-docs",underline:"hover",color:"text.secondary",variant:"body2",children:"api"})]}),n&&v.jsx(Tt,{children:v.jsxs(pi,{href:n,underline:"hover",color:"inherit",sx:{display:"flex",alignItems:"center",gap:.5},children:[v.jsx(fO,{fontSize:"small"}),v.jsx(ot,{variant:"body2",children:"repo index"})]})}),o&&v.jsx(Tt,{children:s?v.jsxs(Sn,{size:"small",startIcon:v.jsx(dO,{}),onClick:()=>void l(),sx:{textTransform:"none"},children:["logout (",s,")"]}):v.jsx(Sn,{size:"small",onClick:r,sx:{textTransform:"none"},children:"login"})})]})}const hO=p.createContext(void 0);function qe(){const e=p.useContext(hO);if(e===void 0)throw new Error(["MUI X: Could not find the Data Grid context.","It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.","This can also happen if you are bundling multiple versions of the Data Grid."].join(`
+`));return e}const pO=p.createContext(void 0),Te=()=>{const e=p.useContext(pO);if(!e)throw new Error("MUI X: useGridRootProps should only be used inside the DataGrid, DataGridPro or DataGridPremium component.");return e},O8=parseInt(p.version,10),at=e=>{if(O8>=19){const t=n=>e(n,n.ref??null);return t.displayName=e.displayName??e.name,t}return p.forwardRef(e)};function $8(e,...t){const n=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach(r=>n.searchParams.append("args[]",r)),`Minified MUI error #${e}; visit ${n} for the full message.`}function F8(e,t){return tg(e,t)}function L8(e,t){Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))}const lP=[];function zl(e){return lP[0]=e,Kc(lP)}function gl(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function gO(e){if(p.isValidElement(e)||og.isValidElementType(e)||!gl(e))return e;const t={};return Object.keys(e).forEach(n=>{t[n]=gO(e[n])}),t}function gg(e,t,n={clone:!0}){const r=n.clone?{...e}:e;return gl(e)&&gl(t)&&Object.keys(t).forEach(o=>{p.isValidElement(t[o])||og.isValidElementType(t[o])?r[o]=t[o]:gl(t[o])&&Object.prototype.hasOwnProperty.call(e,o)&&gl(e[o])?r[o]=gg(e[o],t[o],n):n.clone?r[o]=gl(t[o])?gO(t[o]):t[o]:r[o]=t[o]}),r}const D8=e=>{const t=Object.keys(e).map(n=>({key:n,val:e[n]}))||[];return t.sort((n,r)=>n.val-r.val),t.reduce((n,r)=>({...n,[r.key]:r.val}),{})};function A8(e){const{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:n="px",step:r=5,...o}=e,s=D8(t),i=Object.keys(s);function l(f){return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${n})`}function a(f){return`@media (max-width:${(typeof t[f]=="number"?t[f]:f)-r/100}${n})`}function c(f,h){const g=i.indexOf(h);return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${n}) and (max-width:${(g!==-1&&typeof t[i[g]]=="number"?t[i[g]]:h)-r/100}${n})`}function u(f){return i.indexOf(f)+1r.startsWith("@container")).sort((r,o)=>{var i,l;const s=/min-width:\s*([0-9.]+)/;return+(((i=r.match(s))==null?void 0:i[1])||0)-+(((l=o.match(s))==null?void 0:l[1])||0)});return n.length?n.reduce((r,o)=>{const s=t[o];return delete r[o],r[o]=s,r},{...t}):t}function j8(e,t){return t==="@"||t.startsWith("@")&&(e.some(n=>t.startsWith(`@${n}`))||!!t.match(/^@\d/))}function z8(e,t){const n=t.match(/^@([^/]+)?\/?(.+)?$/);if(!n)return null;const[,r,o]=n,s=Number.isNaN(+r)?r||0:+r;return e.containerQueries(o).up(s)}function N8(e){const t=(s,i)=>s.replace("@media",i?`@container ${i}`:"@container");function n(s,i){s.up=(...l)=>t(e.breakpoints.up(...l),i),s.down=(...l)=>t(e.breakpoints.down(...l),i),s.between=(...l)=>t(e.breakpoints.between(...l),i),s.only=(...l)=>t(e.breakpoints.only(...l),i),s.not=(...l)=>{const a=t(e.breakpoints.not(...l),i);return a.includes("not all and")?a.replace("not all and ","").replace("min-width:","width<").replace("max-width:","width>").replace("and","or"):a}}const r={},o=s=>(n(r,s),r);return n(o),{...e,containerQueries:o}}const H8={borderRadius:4};function Pd(e,t){return t?gg(e,t,{clone:!1}):e}const nb={xs:0,sm:600,md:900,lg:1200,xl:1536},cP={keys:["xs","sm","md","lg","xl"],up:e=>`@media (min-width:${nb[e]}px)`},B8={containerQueries:e=>({up:t=>{let n=typeof t=="number"?t:nb[t]||t;return typeof n=="number"&&(n=`${n}px`),e?`@container ${e} (min-width:${n})`:`@container (min-width:${n})`}})};function Hs(e,t,n){const r=e.theme||{};if(Array.isArray(t)){const s=r.breakpoints||cP;return t.reduce((i,l,a)=>(i[s.up(s.keys[a])]=n(t[a]),i),{})}if(typeof t=="object"){const s=r.breakpoints||cP;return Object.keys(t).reduce((i,l)=>{if(j8(s.keys,l)){const a=z8(r.containerQueries?r:B8,l);a&&(i[a]=n(t[l],l))}else if(Object.keys(s.values||nb).includes(l)){const a=s.up(l);i[a]=n(t[l],l)}else{const a=l;i[a]=t[a]}return i},{})}return n(t)}function V8(e={}){var n;return((n=e.keys)==null?void 0:n.reduce((r,o)=>{const s=e.up(o);return r[s]={},r},{}))||{}}function uP(e,t){return e.reduce((n,r)=>{const o=n[r];return(!o||Object.keys(o).length===0)&&delete n[r],n},t)}function mO(e){if(typeof e!="string")throw new Error($8(7));return e.charAt(0).toUpperCase()+e.slice(1)}function rb(e,t,n=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&n){const r=`vars.${t}`.split(".").reduce((o,s)=>o&&o[s]?o[s]:null,e);if(r!=null)return r}return t.split(".").reduce((r,o)=>r&&r[o]!=null?r[o]:null,e)}function mg(e,t,n,r=n){let o;return typeof e=="function"?o=e(n):Array.isArray(e)?o=e[n]||r:o=rb(e,n)||r,t&&(o=t(o,r,e)),o}function pn(e){const{prop:t,cssProperty:n=e.prop,themeKey:r,transform:o}=e,s=i=>{if(i[t]==null)return null;const l=i[t],a=i.theme,c=rb(a,r)||{};return Hs(i,l,d=>{let f=mg(c,o,d);return d===f&&typeof d=="string"&&(f=mg(c,o,`${t}${d==="default"?"":mO(d)}`,d)),n===!1?f:{[n]:f}})};return s.propTypes={},s.filterProps=[t],s}function W8(e){const t={};return n=>(t[n]===void 0&&(t[n]=e(n)),t[n])}const G8={m:"margin",p:"padding"},U8={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},dP={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},K8=W8(e=>{if(e.length>2)if(dP[e])e=dP[e];else return[e];const[t,n]=e.split(""),r=G8[t],o=U8[n]||"";return Array.isArray(o)?o.map(s=>r+s):[r+o]}),OC=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],$C=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"];[...OC,...$C];function Wf(e,t,n,r){const o=rb(e,t,!0)??n;return typeof o=="number"||typeof o=="string"?s=>typeof s=="string"?s:typeof o=="string"?o.startsWith("var(")&&s===0?0:o.startsWith("var(")&&s===1?o:`calc(${s} * ${o})`:o*s:Array.isArray(o)?s=>{if(typeof s=="string")return s;const i=Math.abs(s),l=o[i];return s>=0?l:typeof l=="number"?-l:typeof l=="string"&&l.startsWith("var(")?`calc(-1 * ${l})`:`-${l}`}:typeof o=="function"?o:()=>{}}function bO(e){return Wf(e,"spacing",8)}function Gf(e,t){return typeof t=="string"||t==null?t:e(t)}function q8(e,t){return n=>e.reduce((r,o)=>(r[o]=Gf(t,n),r),{})}function X8(e,t,n,r){if(!t.includes(n))return null;const o=K8(n),s=q8(o,r),i=e[n];return Hs(e,i,s)}function vO(e,t){const n=bO(e.theme);return Object.keys(e).map(r=>X8(e,t,r,n)).reduce(Pd,{})}function en(e){return vO(e,OC)}en.propTypes={};en.filterProps=OC;function tn(e){return vO(e,$C)}tn.propTypes={};tn.filterProps=$C;function Y8(e=8,t=bO({spacing:e})){if(e.mui)return e;const n=(...r)=>(r.length===0?[1]:r).map(s=>{const i=t(s);return typeof i=="number"?`${i}px`:i}).join(" ");return n.mui=!0,n}function ob(...e){const t=e.reduce((r,o)=>(o.filterProps.forEach(s=>{r[s]=o}),r),{}),n=r=>Object.keys(r).reduce((o,s)=>t[s]?Pd(o,t[s](r)):o,{});return n.propTypes={},n.filterProps=e.reduce((r,o)=>r.concat(o.filterProps),[]),n}function Zr(e){return typeof e!="number"?e:`${e}px solid`}function bo(e,t){return pn({prop:e,themeKey:"borders",transform:t})}const Q8=bo("border",Zr),Z8=bo("borderTop",Zr),J8=bo("borderRight",Zr),e9=bo("borderBottom",Zr),t9=bo("borderLeft",Zr),n9=bo("borderColor"),r9=bo("borderTopColor"),o9=bo("borderRightColor"),s9=bo("borderBottomColor"),i9=bo("borderLeftColor"),l9=bo("outline",Zr),a9=bo("outlineColor"),sb=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const t=Wf(e.theme,"shape.borderRadius",4),n=r=>({borderRadius:Gf(t,r)});return Hs(e,e.borderRadius,n)}return null};sb.propTypes={};sb.filterProps=["borderRadius"];ob(Q8,Z8,J8,e9,t9,n9,r9,o9,s9,i9,sb,l9,a9);const ib=e=>{if(e.gap!==void 0&&e.gap!==null){const t=Wf(e.theme,"spacing",8),n=r=>({gap:Gf(t,r)});return Hs(e,e.gap,n)}return null};ib.propTypes={};ib.filterProps=["gap"];const lb=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const t=Wf(e.theme,"spacing",8),n=r=>({columnGap:Gf(t,r)});return Hs(e,e.columnGap,n)}return null};lb.propTypes={};lb.filterProps=["columnGap"];const ab=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const t=Wf(e.theme,"spacing",8),n=r=>({rowGap:Gf(t,r)});return Hs(e,e.rowGap,n)}return null};ab.propTypes={};ab.filterProps=["rowGap"];const c9=pn({prop:"gridColumn"}),u9=pn({prop:"gridRow"}),d9=pn({prop:"gridAutoFlow"}),f9=pn({prop:"gridAutoColumns"}),h9=pn({prop:"gridAutoRows"}),p9=pn({prop:"gridTemplateColumns"}),g9=pn({prop:"gridTemplateRows"}),m9=pn({prop:"gridTemplateAreas"}),b9=pn({prop:"gridArea"});ob(ib,lb,ab,c9,u9,d9,f9,h9,p9,g9,m9,b9);function tc(e,t){return t==="grey"?t:e}const v9=pn({prop:"color",themeKey:"palette",transform:tc}),y9=pn({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:tc}),x9=pn({prop:"backgroundColor",themeKey:"palette",transform:tc});ob(v9,y9,x9);function Or(e){return e<=1&&e!==0?`${e*100}%`:e}const C9=pn({prop:"width",transform:Or}),FC=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const t=n=>{var o,s,i,l,a;const r=((i=(s=(o=e.theme)==null?void 0:o.breakpoints)==null?void 0:s.values)==null?void 0:i[n])||nb[n];return r?((a=(l=e.theme)==null?void 0:l.breakpoints)==null?void 0:a.unit)!=="px"?{maxWidth:`${r}${e.theme.breakpoints.unit}`}:{maxWidth:r}:{maxWidth:Or(n)}};return Hs(e,e.maxWidth,t)}return null};FC.filterProps=["maxWidth"];const w9=pn({prop:"minWidth",transform:Or}),S9=pn({prop:"height",transform:Or}),k9=pn({prop:"maxHeight",transform:Or}),P9=pn({prop:"minHeight",transform:Or});pn({prop:"size",cssProperty:"width",transform:Or});pn({prop:"size",cssProperty:"height",transform:Or});const M9=pn({prop:"boxSizing"});ob(C9,FC,w9,S9,k9,P9,M9);const yO={border:{themeKey:"borders",transform:Zr},borderTop:{themeKey:"borders",transform:Zr},borderRight:{themeKey:"borders",transform:Zr},borderBottom:{themeKey:"borders",transform:Zr},borderLeft:{themeKey:"borders",transform:Zr},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:Zr},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:sb},color:{themeKey:"palette",transform:tc},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:tc},backgroundColor:{themeKey:"palette",transform:tc},p:{style:tn},pt:{style:tn},pr:{style:tn},pb:{style:tn},pl:{style:tn},px:{style:tn},py:{style:tn},padding:{style:tn},paddingTop:{style:tn},paddingRight:{style:tn},paddingBottom:{style:tn},paddingLeft:{style:tn},paddingX:{style:tn},paddingY:{style:tn},paddingInline:{style:tn},paddingInlineStart:{style:tn},paddingInlineEnd:{style:tn},paddingBlock:{style:tn},paddingBlockStart:{style:tn},paddingBlockEnd:{style:tn},m:{style:en},mt:{style:en},mr:{style:en},mb:{style:en},ml:{style:en},mx:{style:en},my:{style:en},margin:{style:en},marginTop:{style:en},marginRight:{style:en},marginBottom:{style:en},marginLeft:{style:en},marginX:{style:en},marginY:{style:en},marginInline:{style:en},marginInlineStart:{style:en},marginInlineEnd:{style:en},marginBlock:{style:en},marginBlockStart:{style:en},marginBlockEnd:{style:en},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:ib},rowGap:{style:ab},columnGap:{style:lb},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:Or},maxWidth:{style:FC},minWidth:{transform:Or},height:{transform:Or},maxHeight:{transform:Or},minHeight:{transform:Or},boxSizing:{},font:{themeKey:"font"},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}};function I9(...e){const t=e.reduce((r,o)=>r.concat(Object.keys(o)),[]),n=new Set(t);return e.every(r=>n.size===Object.keys(r).length)}function E9(e,t){return typeof e=="function"?e(t):e}function _9(){function e(n,r,o,s){const i={[n]:r,theme:o},l=s[n];if(!l)return{[n]:r};const{cssProperty:a=n,themeKey:c,transform:u,style:d}=l;if(r==null)return null;if(c==="typography"&&r==="inherit")return{[n]:r};const f=rb(o,c)||{};return d?d(i):Hs(i,r,g=>{let m=mg(f,u,g);return g===m&&typeof g=="string"&&(m=mg(f,u,`${n}${g==="default"?"":mO(g)}`,g)),a===!1?m:{[a]:m}})}function t(n){const{sx:r,theme:o={},nested:s}=n||{};if(!r)return null;const i=o.unstable_sxConfig??yO;function l(a){let c=a;if(typeof a=="function")c=a(o);else if(typeof a!="object")return a;if(!c)return null;const u=V8(o.breakpoints),d=Object.keys(u);let f=u;return Object.keys(c).forEach(h=>{const g=E9(c[h],o);if(g!=null)if(typeof g=="object")if(i[h])f=Pd(f,e(h,g,o,i));else{const m=Hs({theme:o},g,C=>({[h]:C}));I9(m,g)?f[h]=t({sx:g,theme:o,nested:!0}):f=Pd(f,m)}else f=Pd(f,e(h,g,o,i))}),!s&&o.modularCssLayers?{"@layer sx":aP(o,uP(d,f))}:aP(o,uP(d,f))}return Array.isArray(r)?r.map(l):l(r)}return t}const bg=_9();bg.filterProps=["sx"];function T9(e,t){var r;const n=this;if(n.vars){if(!((r=n.colorSchemes)!=null&&r[e])||typeof n.getColorSchemeSelector!="function")return{};let o=n.getColorSchemeSelector(e);return o==="&"?t:((o.includes("data-")||o.includes("."))&&(o=`*:where(${o.replace(/\s*&$/,"")}) &`),{[o]:t})}return n.palette.mode===e?t:{}}function R9(e={},...t){const{breakpoints:n={},palette:r={},spacing:o,shape:s={},...i}=e,l=A8(n),a=Y8(o);let c=gg({breakpoints:l,direction:"ltr",components:{},palette:{mode:"light",...r},spacing:a,shape:{...H8,...s}},i);return c=N8(c),c.applyStyles=T9,c=t.reduce((u,d)=>gg(u,d),c),c.unstable_sxConfig={...yO,...i==null?void 0:i.unstable_sxConfig},c.unstable_sx=function(d){return bg({sx:d,theme:this})},c}function O9(e){const{variants:t,...n}=e,r={variants:t,style:zl(n),isProcessed:!0};return r.style===n||t&&t.forEach(o=>{typeof o.style!="function"&&(o.style=zl(o.style))}),r}const $9=R9();function vv(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}function Sl(e,t){return t&&e&&typeof e=="object"&&e.styles&&!e.styles.startsWith("@layer")&&(e.styles=`@layer ${t}{${String(e.styles)}}`),e}function F9(e){return e?(t,n)=>n[e]:null}function L9(e,t,n){e.theme=j9(e.theme)?n:e.theme[t]||e.theme}function bp(e,t,n){const r=typeof t=="function"?t(e):t;if(Array.isArray(r))return r.flatMap(o=>bp(e,o,n));if(Array.isArray(r==null?void 0:r.variants)){let o;if(r.isProcessed)o=n?Sl(r.style,n):r.style;else{const{variants:s,...i}=r;o=n?Sl(zl(i),n):i}return xO(e,r.variants,[o],n)}return r!=null&&r.isProcessed?n?Sl(zl(r.style),n):r.style:n?Sl(zl(r),n):r}function xO(e,t,n=[],r=void 0){var s;let o;e:for(let i=0;i{L8(l,P=>P.filter(M=>M!==bg));const{name:c,slot:u,skipVariantsResolver:d,skipSx:f,overridesResolver:h=F9(N9(u)),...g}=a,m=c&&c.startsWith("Mui")||u?"components":"custom",C=d!==void 0?d:u&&u!=="Root"&&u!=="root"||!1,b=f||!1;let y=vv;u==="Root"||u==="root"?y=r:u?y=o:z9(l)&&(y=void 0);const w=F8(l,{shouldForwardProp:y,label:A9(),...g}),S=P=>{if(P.__emotion_real===P)return P;if(typeof P=="function")return function(I){return bp(I,P,I.theme.modularCssLayers?m:void 0)};if(gl(P)){const M=O9(P);return function(E){return M.variants?bp(E,M,E.theme.modularCssLayers?m:void 0):E.theme.modularCssLayers?Sl(M.style,m):M.style}}return P},k=(...P)=>{const M=[],I=P.map(S),E=[];if(M.push(s),c&&h&&E.push(function(L){var O,F;const R=(F=(O=L.theme.components)==null?void 0:O[c])==null?void 0:F.styleOverrides;if(!R)return null;const _={};for(const j in R)_[j]=bp(L,R[j],L.theme.modularCssLayers?"theme":void 0);return h(L,_)}),c&&!C&&E.push(function(L){var _,O;const A=L.theme,R=(O=(_=A==null?void 0:A.components)==null?void 0:_[c])==null?void 0:O.variants;return R?xO(L,R,[],L.theme.modularCssLayers?"theme":void 0):null}),b||E.push(bg),Array.isArray(I[0])){const $=I.shift(),L=new Array(M.length).fill(""),A=new Array(E.length).fill("");let R;R=[...L,...$,...A],R.raw=[...L,...$.raw,...A],M.unshift(R)}const T=[...M,...I,...E],D=w(...T);return l.muiName&&(D.muiName=l.muiName),D};return w.withConfig&&(k.withConfig=w.withConfig),k}}function A9(e,t){return void 0}function j9(e){for(const t in e)return!1;return!0}function z9(e){return typeof e=="string"&&e.charCodeAt(0)>96}function N9(e){return e&&e.charAt(0).toLowerCase()+e.slice(1)}const Rt=D9();function CO(e,t,n=!1){const r={...t};for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o)){const s=o;if(s==="components"||s==="slots")r[s]={...e[s],...r[s]};else if(s==="componentsProps"||s==="slotProps"){const i=e[s],l=t[s];if(!l)r[s]=i||{};else if(!i)r[s]=l;else{r[s]={...l};for(const a in i)if(Object.prototype.hasOwnProperty.call(i,a)){const c=a;r[s][c]=CO(i[c],l[c],n)}}}else s==="className"&&n&&t.className?r.className=le(e==null?void 0:e.className,t==null?void 0:t.className):s==="style"&&n&&t.style?r.style={...e==null?void 0:e.style,...t==null?void 0:t.style}:r[s]===void 0&&(r[s]=e[s])}return r}function H9(e){const{theme:t,name:n,props:r}=e;return!t||!t.components||!t.components[n]||!t.components[n].defaultProps?r:CO(t.components[n].defaultProps,r)}const B9=p.createContext(),fs=()=>p.useContext(B9)??!1;var vg=Symbol("NOT_FOUND");function V9(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function W9(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!="object")throw new TypeError(t)}function G9(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(n=>typeof n=="function")){const n=e.map(r=>typeof r=="function"?`function ${r.name||"unnamed"}()`:typeof r).join(", ");throw new TypeError(`${t}[${n}]`)}}var fP=e=>Array.isArray(e)?e:[e];function U9(e){const t=Array.isArray(e[0])?e[0]:e;return G9(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function K9(e,t){const n=[],{length:r}=e;for(let o=0;ot(l,c.key));if(a>-1){const c=n[a];return a>0&&(n.splice(a,1),n.unshift(c)),c.value}return vg}function o(l,a){r(l)===vg&&(n.unshift({key:l,value:a}),n.length>e&&n.pop())}function s(){return n}function i(){n=[]}return{get:r,put:o,getEntries:s,clear:i}}var Y9=(e,t)=>e===t;function Q9(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;const{length:o}=n;for(let s=0;ss(h.value,u));f&&(u=f.value,l!==0&&l--)}a.put(arguments,u)}return u}return c.clearCache=()=>{a.clear(),c.resetResultsCount()},c.resultsCount=()=>l,c.resetResultsCount=()=>{l=0},c}var Z9=class{constructor(e){this.value=e}deref(){return this.value}},J9=typeof WeakRef<"u"?WeakRef:Z9,e7=0,hP=1;function Oh(){return{s:e7,v:void 0,o:null,p:null}}function SO(e,t={}){let n=Oh();const{resultEqualityCheck:r}=t;let o,s=0;function i(){var d;let l=n;const{length:a}=arguments;for(let f=0,h=a;f{n=Oh(),i.resetResultsCount()},i.resultsCount=()=>s,i.resetResultsCount=()=>{s=0},i}function kO(e,...t){const n=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,r=(...o)=>{let s=0,i=0,l,a={},c=o.pop();typeof c=="object"&&(a=c,c=o.pop()),V9(c,`createSelector expects an output function after the inputs, but received: [${typeof c}]`);const u={...n,...a},{memoize:d,memoizeOptions:f=[],argsMemoize:h=SO,argsMemoizeOptions:g=[]}=u,m=fP(f),C=fP(g),b=U9(o),y=d(function(){return s++,c.apply(null,arguments)},...m),w=h(function(){i++;const k=K9(b,arguments);return l=y.apply(null,k),l},...C);return Object.assign(w,{resultFunc:c,memoizedResultFunc:y,dependencies:b,dependencyRecomputations:()=>i,resetDependencyRecomputations:()=>{i=0},lastResult:()=>l,recomputations:()=>s,resetRecomputations:()=>{s=0},memoize:d,argsMemoize:h})};return Object.assign(r,{withTypes:()=>r}),r}var PO=kO(SO),t7=Object.assign((e,t=PO)=>{W9(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);const n=Object.keys(e),r=n.map(s=>e[s]);return t(r,(...s)=>s.reduce((i,l,a)=>(i[n[a]]=l,i),{}))},{withTypes:()=>t7});const n7=Object.is;function MO(e,t){if(e===t)return!0;if(!(e instanceof Object)||!(t instanceof Object))return!1;let n=0,r=0;for(const o in e)if(n+=1,!n7(e[o],t[o])||!(o in t))return!1;for(const o in t)r+=1;return n===r}var IO={exports:{}},EO={};/**
+ * @license React
+ * use-sync-external-store-shim.production.js
+ *
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */var Fc=p;function r7(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var o7=typeof Object.is=="function"?Object.is:r7,s7=Fc.useState,i7=Fc.useEffect,l7=Fc.useLayoutEffect,a7=Fc.useDebugValue;function c7(e,t){var n=t(),r=s7({inst:{value:n,getSnapshot:t}}),o=r[0].inst,s=r[1];return l7(function(){o.value=n,o.getSnapshot=t,yv(o)&&s({inst:o})},[e,n,t]),i7(function(){return yv(o)&&s({inst:o}),e(function(){yv(o)&&s({inst:o})})},[e]),a7(n),n}function yv(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!o7(e,n)}catch{return!0}}function u7(e,t){return t()}var d7=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?u7:c7;EO.useSyncExternalStore=Fc.useSyncExternalStore!==void 0?Fc.useSyncExternalStore:d7;IO.exports=EO;var LC=IO.exports;function _O(e){return e.acceptsApiRef}function pP(e,t){return _O(t)?t(e):t(e.current.state)}function xv(e,t,n,r){return _O(t)?t(e,n):t(e.current.state,r)}const TO=Object.is,DC=MO,f7=(e,t)=>e===t?!0:e.length===t.length&&e.every((n,r)=>n===t[r]),h7=(e,t)=>{let n=Object.is;return t instanceof Array?n=f7:t instanceof Object&&(n=DC),n(e,t)},RO=()=>({state:null,equals:null,selector:null,args:void 0}),yg=[],OO=()=>null,he=(e,t,n=TO)=>{const r=zo(RO),o=r.current.selector!==null,[s,i]=p.useState(o?null:pP(e,t));r.current.state=s,r.current.equals=n,r.current.selector=t;const l=p.useCallback(()=>(r.current.subscription||(r.current.subscription=e.current.store.subscribe(()=>{const c=pP(e,r.current.selector);r.current.equals(r.current.state,c)||(r.current.state=c,i(c))})),null),yg),a=p.useCallback(()=>()=>{r.current.subscription&&(r.current.subscription(),r.current.subscription=void 0)},yg);return LC.useSyncExternalStore(a,l,OO),s},df=(e,t,n=void 0,r=TO)=>{const o=zo(RO),s=o.current.selector!==null,[i,l]=p.useState(s?null:xv(e,t,n,e.current.instanceId));o.current.state=i,o.current.equals=r,o.current.selector=t;const a=o.current.args;if(o.current.args=n,s&&!h7(a,n)){const d=xv(e,o.current.selector,o.current.args,e.current.instanceId);o.current.equals(o.current.state,d)||(o.current.state=d,l(d))}const c=p.useCallback(()=>(o.current.subscription||(o.current.subscription=e.current.store.subscribe(()=>{const d=xv(e,o.current.selector,o.current.args,e.current.instanceId);o.current.equals(o.current.state,d)||(o.current.state=d,l(d))})),null),yg),u=p.useCallback(()=>()=>{o.current.subscription&&(o.current.subscription(),o.current.subscription=void 0)},yg);return LC.useSyncExternalStore(u,c,OO),i},p7=kO({memoize:wO,memoizeOptions:{maxSize:1,equalityCheck:Object.is}}),gP=new WeakMap;function _o(e){return"current"in e&&"instanceId"in e.current}const To={id:"default"},Be=(e,t,n,r,o,s,...i)=>{if(i.length>0)throw new Error("Unsupported number of selectors");let l;if(e&&t&&n&&r&&o&&s)l=(a,c)=>{const u=_o(a),d=c??(u?a.current.instanceId:To),f=u?a.current.state:a,h=e(f,d),g=t(f,d),m=n(f,d),C=r(f,d),b=o(f,d);return s(h,g,m,C,b)};else if(e&&t&&n&&r&&o)l=(a,c)=>{const u=_o(a),d=c??(u?a.current.instanceId:To),f=u?a.current.state:a,h=e(f,d),g=t(f,d),m=n(f,d),C=r(f,d);return o(h,g,m,C)};else if(e&&t&&n&&r)l=(a,c)=>{const u=_o(a),d=c??(u?a.current.instanceId:To),f=u?a.current.state:a,h=e(f,d),g=t(f,d),m=n(f,d);return r(h,g,m)};else if(e&&t&&n)l=(a,c)=>{const u=_o(a),d=c??(u?a.current.instanceId:To),f=u?a.current.state:a,h=e(f,d),g=t(f,d);return n(h,g)};else if(e&&t)l=(a,c)=>{const u=_o(a),d=c??(u?a.current.instanceId:To),f=u?a.current.state:a,h=e(f,d);return t(h)};else throw new Error("Missing arguments");return l.acceptsApiRef=!0,l},Uf=(e,t,n,r,o,s,...i)=>{if(i.length>0)throw new Error("Unsupported number of selectors");let l;if(e&&t&&n&&r&&o&&s)l=(a,c,u)=>{const d=_o(a),f=u??(d?a.current.instanceId:To),h=d?a.current.state:a,g=e(h,c,f),m=t(h,c,f),C=n(h,c,f),b=r(h,c,f),y=o(h,c,f);return s(g,m,C,b,y,c)};else if(e&&t&&n&&r&&o)l=(a,c,u)=>{const d=_o(a),f=u??(d?a.current.instanceId:To),h=d?a.current.state:a,g=e(h,c,f),m=t(h,c,f),C=n(h,c,f),b=r(h,c,f);return o(g,m,C,b,c)};else if(e&&t&&n&&r)l=(a,c,u)=>{const d=_o(a),f=u??(d?a.current.instanceId:To),h=d?a.current.state:a,g=e(h,c,f),m=t(h,c,f),C=n(h,c,f);return r(g,m,C,c)};else if(e&&t&&n)l=(a,c,u)=>{const d=_o(a),f=u??(d?a.current.instanceId:To),h=d?a.current.state:a,g=e(h,c,f),m=t(h,c,f);return n(g,m,c)};else if(e&&t)l=(a,c,u)=>{const d=_o(a),f=u??(d?a.current.instanceId:To),h=d?a.current.state:a,g=e(h,c,f);return t(g,c)};else throw new Error("Missing arguments");return l.acceptsApiRef=!0,l},ft=(...e)=>{const t=(n,r)=>{const o=_o(n),s=o?n.current.instanceId:r??To,i=o?n.current.state:n,l=gP.get(s),a=l??new Map,c=a==null?void 0:a.get(e);if(a&&c)return c(i,s);const u=p7(...e);return l||gP.set(s,a),a.set(e,u),u(i,s)};return t.acceptsApiRef=!0,t},kn=e=>e.dimensions,cb=Be(kn,e=>e.columnsTotalWidth),AC=e=>e.dimensions.rowHeight,g7=e=>e.dimensions.contentSize.height,m7=e=>e.dimensions.hasScrollX,b7=e=>e.dimensions.hasScrollY,$O=e=>e.dimensions.columnsTotalWidthe.dimensions.headerHeight,y7=e=>e.dimensions.groupHeaderHeight,FO=e=>e.dimensions.hasScrollY?e.dimensions.scrollbarSize:0,x7=e=>{const t=e.dimensions.hasScrollX?e.dimensions.scrollbarSize:0,n=e.dimensions.viewportOuterSize.height-e.dimensions.minimumSize.height>0;return!(t===0&&!n)};function Ks(e){return p.memo(e,MO)}const C7={noRowsLabel:"No rows",noResultsOverlayLabel:"No results found.",toolbarDensity:"Density",toolbarDensityLabel:"Density",toolbarDensityCompact:"Compact",toolbarDensityStandard:"Standard",toolbarDensityComfortable:"Comfortable",toolbarColumns:"Columns",toolbarColumnsLabel:"Select columns",toolbarFilters:"Filters",toolbarFiltersLabel:"Show filters",toolbarFiltersTooltipHide:"Hide filters",toolbarFiltersTooltipShow:"Show filters",toolbarFiltersTooltipActive:e=>e!==1?`${e} active filters`:`${e} active filter`,toolbarQuickFilterPlaceholder:"Search…",toolbarQuickFilterLabel:"Search",toolbarQuickFilterDeleteIconLabel:"Clear",toolbarExport:"Export",toolbarExportLabel:"Export",toolbarExportCSV:"Download as CSV",toolbarExportPrint:"Print",toolbarExportExcel:"Download as Excel",columnsManagementSearchTitle:"Search",columnsManagementNoColumns:"No columns",columnsManagementShowHideAllText:"Show/Hide All",columnsManagementReset:"Reset",columnsManagementDeleteIconLabel:"Clear",filterPanelAddFilter:"Add filter",filterPanelRemoveAll:"Remove all",filterPanelDeleteIconLabel:"Delete",filterPanelLogicOperator:"Logic operator",filterPanelOperator:"Operator",filterPanelOperatorAnd:"And",filterPanelOperatorOr:"Or",filterPanelColumns:"Columns",filterPanelInputLabel:"Value",filterPanelInputPlaceholder:"Filter value",filterOperatorContains:"contains",filterOperatorDoesNotContain:"does not contain",filterOperatorEquals:"equals",filterOperatorDoesNotEqual:"does not equal",filterOperatorStartsWith:"starts with",filterOperatorEndsWith:"ends with",filterOperatorIs:"is",filterOperatorNot:"is not",filterOperatorAfter:"is after",filterOperatorOnOrAfter:"is on or after",filterOperatorBefore:"is before",filterOperatorOnOrBefore:"is on or before",filterOperatorIsEmpty:"is empty",filterOperatorIsNotEmpty:"is not empty",filterOperatorIsAnyOf:"is any of","filterOperator=":"=","filterOperator!=":"!=","filterOperator>":">","filterOperator>=":">=","filterOperator<":"<","filterOperator<=":"<=",headerFilterOperatorContains:"Contains",headerFilterOperatorDoesNotContain:"Does not contain",headerFilterOperatorEquals:"Equals",headerFilterOperatorDoesNotEqual:"Does not equal",headerFilterOperatorStartsWith:"Starts with",headerFilterOperatorEndsWith:"Ends with",headerFilterOperatorIs:"Is",headerFilterOperatorNot:"Is not",headerFilterOperatorAfter:"Is after",headerFilterOperatorOnOrAfter:"Is on or after",headerFilterOperatorBefore:"Is before",headerFilterOperatorOnOrBefore:"Is on or before",headerFilterOperatorIsEmpty:"Is empty",headerFilterOperatorIsNotEmpty:"Is not empty",headerFilterOperatorIsAnyOf:"Is any of","headerFilterOperator=":"Equals","headerFilterOperator!=":"Not equals","headerFilterOperator>":"Greater than","headerFilterOperator>=":"Greater than or equal to","headerFilterOperator<":"Less than","headerFilterOperator<=":"Less than or equal to",filterValueAny:"any",filterValueTrue:"true",filterValueFalse:"false",columnMenuLabel:"Menu",columnMenuAriaLabel:e=>`${e} column menu`,columnMenuShowColumns:"Show columns",columnMenuManageColumns:"Manage columns",columnMenuFilter:"Filter",columnMenuHideColumn:"Hide column",columnMenuUnsort:"Unsort",columnMenuSortAsc:"Sort by ASC",columnMenuSortDesc:"Sort by DESC",columnHeaderFiltersTooltipActive:e=>e!==1?`${e} active filters`:`${e} active filter`,columnHeaderFiltersLabel:"Show filters",columnHeaderSortIconLabel:"Sort",footerRowSelected:e=>e!==1?`${e.toLocaleString()} rows selected`:`${e.toLocaleString()} row selected`,footerTotalRows:"Total Rows:",footerTotalVisibleRows:(e,t)=>`${e.toLocaleString()} of ${t.toLocaleString()}`,checkboxSelectionHeaderName:"Checkbox selection",checkboxSelectionSelectAllRows:"Select all rows",checkboxSelectionUnselectAllRows:"Unselect all rows",checkboxSelectionSelectRow:"Select row",checkboxSelectionUnselectRow:"Unselect row",booleanCellTrueLabel:"yes",booleanCellFalseLabel:"no",actionsCellMore:"more",pinToLeft:"Pin to left",pinToRight:"Pin to right",unpin:"Unpin",treeDataGroupingHeaderName:"Group",treeDataExpand:"see children",treeDataCollapse:"hide children",groupingColumnHeaderName:"Group",groupColumn:e=>`Group by ${e}`,unGroupColumn:e=>`Stop grouping by ${e}`,detailPanelToggle:"Detail panel toggle",expandDetailPanel:"Expand",collapseDetailPanel:"Collapse",MuiTablePagination:{},rowReorderingHeaderName:"Row reordering",aggregationMenuItemHeader:"Aggregation",aggregationFunctionLabelSum:"sum",aggregationFunctionLabelAvg:"avg",aggregationFunctionLabelMin:"min",aggregationFunctionLabelMax:"max",aggregationFunctionLabelSize:"size"};function et(e){return ze("MuiDataGrid",e)}const N=Ne("MuiDataGrid",["actionsCell","aggregationColumnHeader","aggregationColumnHeader--alignLeft","aggregationColumnHeader--alignCenter","aggregationColumnHeader--alignRight","aggregationColumnHeaderLabel","autoHeight","autosizing","booleanCell","cell--editable","cell--editing","cell--flex","cell--textCenter","cell--textLeft","cell--textRight","cell--rangeTop","cell--rangeBottom","cell--rangeLeft","cell--rangeRight","cell--pinnedLeft","cell--pinnedRight","cell--selectionMode","cell","cellCheckbox","cellEmpty","cellSkeleton","cellOffsetLeft","checkboxInput","columnHeader","columnHeader--alignCenter","columnHeader--alignLeft","columnHeader--alignRight","columnHeader--dragging","columnHeader--moving","columnHeader--numeric","columnHeader--sortable","columnHeader--sorted","columnHeader--filtered","columnHeader--pinnedLeft","columnHeader--pinnedRight","columnHeader--last","columnHeader--lastUnpinned","columnHeader--siblingFocused","columnHeaderCheckbox","columnHeaderDraggableContainer","columnHeaderTitle","columnHeaderTitleContainer","columnHeaderTitleContainerContent","columnHeader--filledGroup","columnHeader--emptyGroup","columnHeaders","columnSeparator--resizable","columnSeparator--resizing","columnSeparator--sideLeft","columnSeparator--sideRight","columnSeparator","columnsManagement","columnsManagementRow","columnsManagementHeader","columnsManagementSearchInput","columnsManagementFooter","container--top","container--bottom","detailPanel","detailPanels","detailPanelToggleCell","detailPanelToggleCell--expanded","footerCell","panel","panelHeader","panelWrapper","panelContent","panelFooter","paper","editBooleanCell","editInputCell","filler","filler--borderBottom","filler--pinnedLeft","filler--pinnedRight","filterForm","filterFormDeleteIcon","filterFormLogicOperatorInput","filterFormColumnInput","filterFormOperatorInput","filterFormValueInput","filterIcon","footerContainer","headerFilterRow","iconButtonContainer","iconSeparator","main","main--hasPinnedRight","main--hasSkeletonLoadingOverlay","menu","menuIcon","menuIconButton","menuOpen","menuList","overlay","overlayWrapper","overlayWrapperInner","root","root--densityStandard","root--densityComfortable","root--densityCompact","root--disableUserSelection","root--noToolbar","row","row--editable","row--editing","row--firstVisible","row--lastVisible","row--dragging","row--dynamicHeight","row--detailPanelExpanded","row--borderBottom","rowReorderCellPlaceholder","rowCount","rowReorderCellContainer","rowReorderCell","rowReorderCell--draggable","rowSkeleton","scrollArea--left","scrollArea--right","scrollArea--up","scrollArea--down","scrollArea","scrollbar","scrollbar--vertical","scrollbar--horizontal","scrollbarFiller","scrollbarFiller--header","scrollbarFiller--borderTop","scrollbarFiller--borderBottom","scrollbarFiller--pinnedRight","selectedRowCount","sortButton","sortIcon","toolbarContainer","toolbarFilterList","virtualScroller","virtualScroller--hasScrollX","virtualScrollerContent","virtualScrollerContent--overflowed","virtualScrollerRenderZone","pinnedColumns","withVerticalBorder","withBorderColor","cell--withRightBorder","cell--withLeftBorder","columnHeader--withRightBorder","columnHeader--withLeftBorder","treeDataGroupingCell","treeDataGroupingCellToggle","treeDataGroupingCellLoadingContainer","groupingCriteriaCell","groupingCriteriaCellToggle","groupingCriteriaCellLoadingContainer","pinnedRows","pinnedRows--top","pinnedRows--bottom","pinnedRowsRenderZone"]),mP=1e3;class w7{constructor(t=mP){this.timeouts=new Map,this.cleanupTimeout=mP,this.cleanupTimeout=t}register(t,n,r){this.timeouts||(this.timeouts=new Map);const o=setTimeout(()=>{typeof n=="function"&&n(),this.timeouts.delete(r.cleanupToken)},this.cleanupTimeout);this.timeouts.set(r.cleanupToken,o)}unregister(t){const n=this.timeouts.get(t.cleanupToken);n&&(this.timeouts.delete(t.cleanupToken),clearTimeout(n))}reset(){this.timeouts&&(this.timeouts.forEach((t,n)=>{this.unregister({cleanupToken:n})}),this.timeouts=void 0)}}class S7{constructor(){this.registry=new FinalizationRegistry(t=>{typeof t=="function"&&t()})}register(t,n,r){this.registry.register(t,n,r)}unregister(t){this.registry.unregister(t)}reset(){}}var io=function(e){return e.DataGrid="DataGrid",e.DataGridPro="DataGridPro",e.DataGridPremium="DataGridPremium",e}(io||{});class k7{}function P7(e){let t=0;return function(r,o,s,i){e.registry===null&&(e.registry=typeof FinalizationRegistry<"u"?new S7:new w7);const[l]=p.useState(new k7),a=p.useRef(null),c=p.useRef(null);c.current=s;const u=p.useRef(null);if(!a.current&&c.current){const d=(f,h,g)=>{var m;h&&!h.defaultMuiPrevented&&((m=c.current)==null||m.call(c,f,h,g))};a.current=r.current.subscribeEvent(o,d,i),t+=1,u.current={cleanupToken:t},e.registry.register(l,()=>{var f;(f=a.current)==null||f.call(a),a.current=null,u.current=null},u.current)}else!c.current&&a.current&&(a.current(),a.current=null,u.current&&(e.registry.unregister(u.current),u.current=null));p.useEffect(()=>{if(!a.current&&c.current){const d=(f,h,g)=>{var m;h&&!h.defaultMuiPrevented&&((m=c.current)==null||m.call(c,f,h,g))};a.current=r.current.subscribeEvent(o,d,i)}return u.current&&e.registry&&(e.registry.unregister(u.current),u.current=null),()=>{var d;(d=a.current)==null||d.call(a),a.current=null}},[r,o,i])}}const M7={registry:null},Ee=P7(M7),I7={isFirst:!0};function St(e,t,n){Ee(e,t,n,I7)}const E7=.7,_7=1.3,T7={compact:E7,comfortable:_7,standard:1},Ba=e=>e.density,au=Be(Ba,e=>T7[e]),R7=["id","value","formattedValue","api","field","row","rowNode","colDef","cellMode","isEditable","tabIndex","hasFocus","isValidating","debounceMs","isProcessingProps","onValueChange"],O7=e=>{const{classes:t}=e;return ve({root:["editInputCell"]},et,t)},$7=re(tu,{name:"MuiDataGrid",slot:"EditInputCell",overridesResolver:(e,t)=>t.editInputCell})(({theme:e})=>x({},e.typography.body2,{padding:"1px 0","& input":{padding:"0 16px",height:"100%"}})),F7=at((e,t)=>{const n=Te(),{id:r,value:o,field:s,colDef:i,hasFocus:l,debounceMs:a=200,isProcessingProps:c,onValueChange:u}=e,d=te(e,R7),f=qe(),h=p.useRef(null),[g,m]=p.useState(o),C=O7(n),b=p.useCallback(async w=>{const S=w.target.value;u&&await u(w,S);const k=f.current.getColumn(s);let P=S;k.valueParser&&(P=k.valueParser(S,f.current.getRow(r),k,f)),m(P),f.current.setEditCellValue({id:r,field:s,value:P,debounceMs:a,unstable_skipValueParser:!0},w)},[f,a,s,r,u]),y=f.current.unstable_getEditCellMeta(r,s);return p.useEffect(()=>{(y==null?void 0:y.changeReason)!=="debouncedSetEditCellValue"&&m(o)},[y,o]),Et(()=>{l&&h.current.focus()},[l]),v.jsx($7,x({inputRef:h,className:C.root,ownerState:n,fullWidth:!0,type:i.type==="number"?i.type:"text",value:g??"",onChange:b,endAdornment:c?v.jsx(n.slots.loadIcon,{fontSize:"small",color:"action"}):void 0},d,{ref:t}))}),L7=e=>v.jsx(F7,x({},e)),vo=e=>e.rows,Kf=Be(vo,e=>e.totalRowCount),D7=Be(vo,e=>e.loading),A7=Be(vo,e=>e.totalTopLevelRowCount),to=Be(vo,e=>e.dataRowIdToModelLookup),bP=Be(vo,e=>e.dataRowIdToIdLookup),mn=Be(vo,e=>e.tree),j7=Be(vo,e=>e.groupsToFetch),z7=Be(vo,e=>e.groupingName),vP=Be(vo,e=>e.treeDepths),la=ft(vo,e=>{const t=Object.entries(e.treeDepths);return t.length===0?1:(t.filter(([,n])=>n>0).map(([n])=>Number(n)).sort((n,r)=>r-n)[0]??0)+1}),nd=Be(vo,e=>e.dataRowIds),N7=Be(vo,e=>e==null?void 0:e.additionalRowGroups),cu=ft(N7,e=>{var n,r;const t=e==null?void 0:e.pinnedRows;return{bottom:((n=t==null?void 0:t.bottom)==null?void 0:n.map(o=>({id:o.id,model:o.model??{}})))??[],top:((r=t==null?void 0:t.top)==null?void 0:r.map(o=>({id:o.id,model:o.model??{}})))??[]}}),LO=Be(cu,e=>{var t,n;return(((t=e==null?void 0:e.top)==null?void 0:t.length)||0)+(((n=e==null?void 0:e.bottom)==null?void 0:n.length)||0)}),DO=(e,t)=>t&&e.length>1?[e[0]]:e,yP=(e,t)=>n=>x({},n,{sorting:x({},n.sorting,{sortModel:DO(e,t)})}),H7=e=>e==="desc",B7=(e,t)=>{const n=t.current.getColumn(e.field);if(!n||e.sort===null)return null;let r;return n.getSortComparator?r=n.getSortComparator(e.sort):r=H7(e.sort)?(...s)=>-1*n.sortComparator(...s):n.sortComparator,r?{getSortCellParams:s=>({id:s,field:n.field,rowNode:mn(t)[s],value:t.current.getCellValue(s,n.field),api:t.current}),comparator:r}:null},V7=(e,t,n)=>e.reduce((r,o,s)=>{if(r!==0)return r;const i=t.params[s],l=n.params[s];return r=o.comparator(i.value,l.value,i,l),r},0),W7=(e,t)=>{const n=e.map(r=>B7(r,t)).filter(r=>!!r);return n.length===0?null:r=>r.map(o=>({node:o,params:n.map(s=>s.getSortCellParams(o.id))})).sort((o,s)=>V7(n,o,s)).map(o=>o.node.id)},xP=(e,t)=>{const n=e.indexOf(t);return!t||n===-1||n+1===e.length?e[0]:e[n+1]},jC=(e,t)=>e==null&&t!=null?-1:t==null&&e!=null?1:e==null&&t==null?0:null,G7=new Intl.Collator,U7=(e,t)=>{const n=jC(e,t);return n!==null?n:typeof e=="string"?G7.compare(e.toString(),t.toString()):e-t},AO=(e,t)=>{const n=jC(e,t);return n!==null?n:Number(e)-Number(t)},jO=(e,t)=>{const n=jC(e,t);return n!==null?n:e>t?1:e{const P=Cv(k.target.value);g(P),C(!0),f.start(y.filterDebounceMs,()=>{const M=x({},t,{value:r==="number"&&!Number.isNaN(Number(P))?Number(P):P,fromInput:b});n(M),C(!1)})},[f,y.filterDebounceMs,t,r,b,n]);return p.useEffect(()=>{(t.fromInput!==b||t.value==null)&&g(Cv(t.value))},[b,t]),v.jsx(y.slots.baseTextField,x({id:b,label:o.current.getLocaleText("filterPanelInputLabel"),placeholder:o.current.getLocaleText("filterPanelInputPlaceholder"),value:h??"",onChange:w,variant:u,type:r||"text",InputProps:x({},m||a?{endAdornment:m?v.jsx(y.slots.loadIcon,{fontSize:"small",color:"action"}):a}:{},{disabled:l},c,{inputProps:x({tabIndex:i},c==null?void 0:c.inputProps)}),InputLabelProps:{shrink:!0},inputRef:s},d,(S=y.slotProps)==null?void 0:S.baseTextField))}function Cv(e){if(!(e==null||e===""))return String(e)}function q7(e){return typeof e=="number"&&!Number.isNaN(e)}function X7(e){return typeof e=="function"}function zC(e){return typeof e=="object"&&e!==null}function Y7(){try{const e="__some_random_key_you_are_not_going_to_use__";return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch{return!1}}function xg(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}const Ar=(e,t,n)=>Math.max(t,Math.min(n,e));function CP(e,t){return Array.from({length:t-e}).map((n,r)=>e+r)}function is(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;if(Array.isArray(e)){const o=e.length;if(o!==t.length)return!1;for(let s=0;s{let t=e+=1831565813;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}}function Z7(e){const t=Q7(e);return(n,r)=>n+(r-n)*t()}function zO(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}const ml=(e,t)=>n=>{e&&t(n)},J7=["item","applyValue","type","apiRef","focusElementRef","color","error","helperText","size","variant"],eK=["key"];function NO(e){const{item:t,applyValue:n,type:r,apiRef:o,focusElementRef:s,color:i,error:l,helperText:a,size:c,variant:u="standard"}=e,d=te(e,J7),f={color:i,error:l,helperText:a,size:c,variant:u},[h,g]=p.useState(t.value||[]),m=gt(),C=Te();p.useEffect(()=>{const y=t.value??[];g(y.map(String))},[t.value]);const b=p.useCallback((y,w)=>{g(w.map(String)),n(x({},t,{value:[...w.map(S=>r==="number"?Number(S):S)]}))},[n,t,r]);return v.jsx(yC,x({multiple:!0,freeSolo:!0,options:[],filterOptions:(y,w)=>{const{inputValue:S}=w;return S==null||S===""?[]:[S]},id:m,value:h,onChange:b,renderTags:(y,w)=>y.map((S,k)=>{const P=w({index:k}),{key:M}=P,I=te(P,eK);return v.jsx(C.slots.baseChip,x({variant:"outlined",size:"small",label:S},I),M)}),renderInput:y=>{var w;return v.jsx(C.slots.baseTextField,x({},y,{label:o.current.getLocaleText("filterPanelInputLabel"),placeholder:o.current.getLocaleText("filterPanelInputPlaceholder"),InputLabelProps:x({},y.InputLabelProps,{shrink:!0}),inputRef:s,type:r||"text"},f,(w=C.slotProps)==null?void 0:w.baseTextField))}},d))}var us=function(e){return e.Cell="cell",e.Row="row",e}(us||{}),Ct=function(e){return e.Edit="edit",e.View="view",e}(Ct||{}),Dt=function(e){return e.Edit="edit",e.View="view",e}(Dt||{}),Jn=function(e){return e.And="and",e.Or="or",e}(Jn||{}),xs=function(e){return e.enterKeyDown="enterKeyDown",e.cellDoubleClick="cellDoubleClick",e.printableKeyDown="printableKeyDown",e.deleteKeyDown="deleteKeyDown",e.pasteKeyDown="pasteKeyDown",e}(xs||{}),wo=function(e){return e.cellFocusOut="cellFocusOut",e.escapeKeyDown="escapeKeyDown",e.enterKeyDown="enterKeyDown",e.tabKeyDown="tabKeyDown",e.shiftTabKeyDown="shiftTabKeyDown",e}(wo||{}),ii=function(e){return e.enterKeyDown="enterKeyDown",e.cellDoubleClick="cellDoubleClick",e.printableKeyDown="printableKeyDown",e.deleteKeyDown="deleteKeyDown",e}(ii||{}),Go=function(e){return e.rowFocusOut="rowFocusOut",e.escapeKeyDown="escapeKeyDown",e.enterKeyDown="enterKeyDown",e.tabKeyDown="tabKeyDown",e.shiftTabKeyDown="shiftTabKeyDown",e}(Go||{});function HO(e){return e.field!==void 0}const BO={filteredRowsLookup:{},filteredChildrenCountLookup:{},filteredDescendantCountLookup:{}},ff=()=>({items:[],logicOperator:Jn.And,quickFilterValues:[],quickFilterLogicOperator:Jn.And});function VO(e){return{current:e.current.getPublicApi()}}let ci=function(e){return e.LEFT="left",e.RIGHT="right",e}({});const Cg={left:[],right:[]},WO=e=>e.isRtl,ls=e=>e.columns,$s=Be(ls,e=>e.orderedFields),hs=Be(ls,e=>e.lookup),lo=ft($s,hs,(e,t)=>e.map(n=>t[n])),no=Be(ls,e=>e.columnVisibilityModel),qt=ft(lo,no,(e,t)=>e.filter(n=>t[n.field]!==!1)),uu=ft(qt,e=>e.map(t=>t.field)),GO=e=>e.pinnedColumns;ft(GO,$s,WO,(e,t,n)=>UO(e,t,n));const du=ft(ls,GO,uu,WO,(e,t,n,r)=>{const o=UO(t,n,r);return{left:o.left.map(i=>e.lookup[i]),right:o.right.map(i=>e.lookup[i])}});function UO(e,t,n){var l,a;if(!Array.isArray(e.left)&&!Array.isArray(e.right)||((l=e.left)==null?void 0:l.length)===0&&((a=e.right)==null?void 0:a.length)===0)return Cg;const r=(c,u)=>Array.isArray(c)?c.filter(d=>u.includes(d)):[],o=r(e.left,t),s=t.filter(c=>!o.includes(c)),i=r(e.right,s);return n?{left:i,right:o}:{left:o,right:i}}const rl=ft(qt,e=>{const t=[];let n=0;for(let r=0;re.filter(t=>t.filterable)),tK=ft(lo,e=>e.reduce((t,n)=>(n.filterable&&(t[n.field]=n),t),{})),nK=ft(lo,e=>e.some(t=>t.colSpan!==void 0));let zu;function rK(){if(zu!==void 0)return zu;try{zu=new Function("return true")()}catch{zu=!1}return zu}const px=(e,t)=>{const n=x({},e);if(n.id==null&&(n.id=Math.round(Math.random()*1e5)),n.operator==null){const r=hs(t)[n.field];n.operator=r&&r.filterOperators[0].value}return n},NC=(e,t,n)=>{const r=e.items.length>1;let o;r&&t?o=[e.items[0]]:o=e.items;const s=r&&o.some(l=>l.id==null);return o.some(l=>l.operator==null)||s?x({},e,{items:o.map(l=>px(l,n))}):e.items!==o?x({},e,{items:o}):e},wP=(e,t,n)=>r=>x({},r,{filterModel:NC(e,t,n)}),hf=e=>typeof e=="string"?e.normalize("NFD").replace(/[\u0300-\u036f]/g,""):e,qO=(e,t)=>{var u;if(!e.field||!e.operator)return null;const n=t.current.getColumn(e.field);if(!n)return null;let r;if(n.valueParser){const d=n.valueParser;r=Array.isArray(e.value)?(u=e.value)==null?void 0:u.map(f=>d(f,void 0,n,t)):d(e.value,void 0,n,t)}else r=e.value;const{ignoreDiacritics:o}=t.current.rootProps;o&&(r=hf(r));const s=x({},e,{value:r}),i=n.filterOperators;if(!(i!=null&&i.length))throw new Error(`MUI X: No filter operators found for column '${n.field}'.`);const l=i.find(d=>d.value===s.operator);if(!l)throw new Error(`MUI X: No filter operator found for column '${n.field}' and operator value '${s.operator}'.`);const a=VO(t),c=l.getApplyFilterFn(s,n);return typeof c!="function"?null:{item:s,fn:d=>{let f=t.current.getRowValue(d,n);return o&&(f=hf(f)),c(f,d,n,a)}}};let SP=1;const oK=(e,t,n)=>{const{items:r}=e,o=r.map(l=>qO(l,t)).filter(l=>!!l);if(o.length===0)return null;if(n||!rK())return(l,a)=>{const c={};for(let u=0;u`const shouldApply${a} = !shouldApplyFilter || shouldApplyFilter(${JSON.stringify(l.item.field)});`).join(`
+`)}
+
+const result$$ = {
+${o.map((l,a)=>` ${JSON.stringify(String(l.item.id))}: !shouldApply${a} ? false : appliers[${a}].fn(row),`).join(`
+`)}
+};
+
+return result$$;`.replaceAll("$$",String(SP)));return SP+=1,(l,a)=>s(o,l,a)},XO=e=>e.quickFilterExcludeHiddenColumns??!0,sK=(e,t)=>{var l;const n=((l=e.quickFilterValues)==null?void 0:l.filter(Boolean))??[];if(n.length===0)return null;const r=XO(e)?uu(t):$s(t),o=[],{ignoreDiacritics:s}=t.current.rootProps,i=VO(t);return r.forEach(a=>{const c=t.current.getColumn(a),u=c==null?void 0:c.getApplyQuickFilterFn;u&&o.push({column:c,appliers:n.map(d=>{const f=s?hf(d):d;return{fn:u(f,c,i)}})})}),function(c,u){const d={};e:for(let f=0;f{const r=oK(e,t,n),o=sK(e,t);return function(i,l,a){a.passingFilterItems=(r==null?void 0:r(i,l))??null,a.passingQuickFilterValues=(o==null?void 0:o(i,l))??null}},kP=e=>e!=null,lK=(e,t,n)=>(e.cleanedFilterItems||(e.cleanedFilterItems=n.filter(r=>qO(r,t)!==null)),e.cleanedFilterItems),aK=(e,t,n,r,o)=>{const s=lK(o,r,n.items),i=e.filter(kP),l=t.filter(kP);if(i.length>0){const a=u=>i.some(d=>d[u.id]);if((n.logicOperator??ff().logicOperator)===Jn.And){if(!s.every(a))return!1}else if(!s.some(a))return!1}if(l.length>0&&n.quickFilterValues!=null){const a=u=>l.some(d=>d[u]);if((n.quickFilterLogicOperator??ff().quickFilterLogicOperator)===Jn.And){if(!n.quickFilterValues.every(a))return!1}else if(!n.quickFilterValues.some(a))return!1}return!0},cK=e=>{if(!e)return null;const t=new RegExp(xg(e),"i");return(n,r,o,s)=>{let i=s.current.getRowFormattedValue(r,o);return s.current.ignoreDiacritics&&(i=hf(i)),i!=null?t.test(i.toString()):!1}},PP=(e,t)=>n=>{if(!n.value)return null;const r=e?n.value:n.value.trim(),o=new RegExp(xg(r),"i");return s=>{if(s==null)return t;const i=o.test(String(s));return t?!i:i}},MP=(e,t)=>n=>{if(!n.value)return null;const r=e?n.value:n.value.trim(),o=new Intl.Collator(void 0,{sensitivity:"base",usage:"search"});return s=>{if(s==null)return t;const i=o.compare(r,s.toString())===0;return t?!i:i}},IP=e=>()=>t=>{const n=t===""||t==null;return e?!n:n},uK=(e=!1)=>[{value:"contains",getApplyFilterFn:PP(e,!1),InputComponent:Jr},{value:"doesNotContain",getApplyFilterFn:PP(e,!0),InputComponent:Jr},{value:"equals",getApplyFilterFn:MP(e,!1),InputComponent:Jr},{value:"doesNotEqual",getApplyFilterFn:MP(e,!0),InputComponent:Jr},{value:"startsWith",getApplyFilterFn:t=>{if(!t.value)return null;const n=e?t.value:t.value.trim(),r=new RegExp(`^${xg(n)}.*$`,"i");return o=>o!=null?r.test(o.toString()):!1},InputComponent:Jr},{value:"endsWith",getApplyFilterFn:t=>{if(!t.value)return null;const n=e?t.value:t.value.trim(),r=new RegExp(`.*${xg(n)}$`,"i");return o=>o!=null?r.test(o.toString()):!1},InputComponent:Jr},{value:"isEmpty",getApplyFilterFn:IP(!1),requiresFilterValue:!1},{value:"isNotEmpty",getApplyFilterFn:IP(!0),requiresFilterValue:!1},{value:"isAnyOf",getApplyFilterFn:t=>{if(!Array.isArray(t.value)||t.value.length===0)return null;const n=e?t.value:t.value.map(o=>o.trim()),r=new Intl.Collator(void 0,{sensitivity:"base",usage:"search"});return o=>o!=null?n.some(s=>r.compare(s,o.toString()||"")===0):!1},InputComponent:NO}],Fo={width:100,minWidth:50,maxWidth:1/0,hideable:!0,sortable:!0,resizable:!0,filterable:!0,groupable:!0,pinnable:!0,aggregable:!0,editable:!1,sortComparator:U7,type:"string",align:"left",filterOperators:uK(),renderEditCell:L7,getApplyQuickFilterFn:cK},dK=["open","target","onClose","children","position","className","onExited"],fK=e=>{const{classes:t}=e;return ve({root:["menu"]},et,t)},hK=re(oa,{name:"MuiDataGrid",slot:"Menu",overridesResolver:(e,t)=>t.menu})(({theme:e})=>({zIndex:e.zIndex.modal,[`& .${N.menuList}`]:{outline:0}})),pK={"bottom-start":"top left","bottom-end":"top right"};function HC(e){var m;const{open:t,target:n,onClose:r,children:o,position:s,className:i,onExited:l}=e,a=te(e,dK),c=qe(),u=Te(),d=fK(u),f=p.useRef(null);Et(()=>{var C,b;t?f.current=document.activeElement instanceof HTMLElement?document.activeElement:null:((b=(C=f.current)==null?void 0:C.focus)==null||b.call(C),f.current=null)},[t]),p.useEffect(()=>{const C=t?"menuOpen":"menuClose";c.current.publishEvent(C,{target:n})},[c,t,n]);const h=C=>b=>{C&&C(),l&&l(b)},g=C=>{C.target&&(n===C.target||n!=null&&n.contains(C.target))||r(C)};return v.jsx(hK,x({as:u.slots.basePopper,className:le(d.root,i),ownerState:u,open:t,anchorEl:n,transition:!0,placement:s},a,(m=u.slotProps)==null?void 0:m.basePopper,{children:({TransitionProps:C,placement:b})=>v.jsx(CC,{onClickAway:g,mouseEvent:"onMouseDown",children:v.jsx($c,x({},C,{style:{transformOrigin:pK[b]},onExited:h(C==null?void 0:C.onExited),children:v.jsx(Gs,{children:o})}))})}))}const gK=["api","colDef","id","hasFocus","isEditable","field","value","formattedValue","row","rowNode","cellMode","tabIndex","position","focusElementRef"],mK=e=>typeof e.getActions=="function";function bK(e){var _;const{colDef:t,id:n,hasFocus:r,tabIndex:o,position:s="bottom-end",focusElementRef:i}=e,l=te(e,gK),[a,c]=p.useState(-1),[u,d]=p.useState(!1),f=qe(),h=p.useRef(null),g=p.useRef(null),m=p.useRef(!1),C=p.useRef({}),b=fs(),y=gt(),w=gt(),S=Te();if(!mK(t))throw new Error("MUI X: Missing the `getActions` property in the `GridColDef`.");const k=t.getActions(f.current.getRowParams(n)),P=k.filter(O=>!O.props.showInMenu),M=k.filter(O=>O.props.showInMenu),I=P.length+(M.length?1:0);p.useLayoutEffect(()=>{r||Object.entries(C.current).forEach(([O,F])=>{F==null||F.stop({},()=>{delete C.current[O]})})},[r]),p.useEffect(()=>{if(a<0||!h.current||a>=h.current.children.length)return;h.current.children[a].focus({preventScroll:!0})},[a]),p.useEffect(()=>{r||(c(-1),m.current=!1)},[r]),p.useImperativeHandle(i,()=>({focus(){if(!m.current){const O=k.findIndex(F=>!F.props.disabled);c(O)}}}),[k]),p.useEffect(()=>{a>=I&&c(I-1)},[a,I]);const E=()=>{d(!0),c(I-1),m.current=!0},T=()=>{d(!1)},D=O=>{O.stopPropagation(),O.preventDefault(),u?T():E()},$=O=>F=>{C.current[O]=F},L=(O,F)=>j=>{c(O),m.current=!0,F&&F(j)},A=O=>{if(I<=1)return;const F=(z,H)=>{var V;if(z<0||z>k.length)return z;const G=(H==="left"?-1:1)*(b?-1:1);return(V=k[z+G])!=null&&V.props.disabled?F(z+G,H):z+G};let j=a;O.key==="ArrowRight"?j=F(a,"right"):O.key==="ArrowLeft"&&(j=F(a,"left")),!(j<0||j>=I)&&j!==a&&(O.preventDefault(),O.stopPropagation(),c(j))},R=O=>{O.key==="Tab"&&O.preventDefault(),["Tab","Escape"].includes(O.key)&&T()};return v.jsxs("div",x({role:"menu",ref:h,tabIndex:-1,className:N.actionsCell,onKeyDown:A},l,{children:[P.map((O,F)=>p.cloneElement(O,{key:F,touchRippleRef:$(F),onClick:L(F,O.props.onClick),tabIndex:a===F?o:-1})),M.length>0&&w&&v.jsx(S.slots.baseIconButton,x({ref:g,id:w,"aria-label":f.current.getLocaleText("actionsCellMore"),"aria-haspopup":"menu","aria-expanded":u,"aria-controls":u?y:void 0,role:"menuitem",size:"small",onClick:D,touchRippleRef:$(w),tabIndex:a===P.length?o:-1},(_=S.slotProps)==null?void 0:_.baseIconButton,{children:v.jsx(S.slots.moreActionsIcon,{fontSize:"small"})})),M.length>0&&v.jsx(HC,{open:u,target:g.current,position:s,onClose:T,children:v.jsx(Jm,{id:y,className:N.menuList,onKeyDown:R,"aria-labelledby":w,variant:"menu",autoFocusItem:!0,children:M.map((O,F)=>p.cloneElement(O,{key:F,closeMenu:T}))})})]}))}const vK=e=>v.jsx(bK,x({},e)),ub="actions",yK=x({},Fo,{sortable:!1,filterable:!1,aggregable:!1,width:100,display:"flex",align:"center",headerAlign:"center",headerName:"",disableColumnMenu:!0,disableExport:!0,renderCell:vK,getApplyQuickFilterFn:void 0}),jn="auto-generated-group-node-root",Lc=Symbol("mui.id_autogenerated"),xK=()=>({type:"group",id:jn,depth:-1,groupingField:null,groupingKey:null,isAutoGenerated:!0,children:[],childrenFromPath:{},childrenExpanded:!0,parent:null});function CK(e,t,n="A row was provided without id in the rows prop:"){if(e==null)throw new Error(["MUI X: The Data Grid component requires all rows to have a unique `id` property.","Alternatively, you can use the `getRowId` prop to specify a custom id for each row.",n,JSON.stringify(t)].join(`
+`))}const db=(e,t,n)=>{const r=t?t(e):e.id;return CK(r,e,n),r},vp=({rows:e,getRowId:t,loading:n,rowCount:r})=>{const o={type:"full",rows:[]},s={},i={};for(let l=0;l{const n=e[jn];return Math.max(t,n.children.length+(n.footerId==null?0:1))},QO=({apiRef:e,rowCountProp:t=0,loadingProp:n,previousTree:r,previousTreeDepths:o,previousGroupsToFetch:s})=>{const i=e.current.caches.rows,{tree:l,treeDepths:a,dataRowIds:c,groupingName:u,groupsToFetch:d=[]}=e.current.applyStrategyProcessor("rowTreeCreation",{previousTree:r,previousTreeDepths:o,updates:i.updates,dataRowIdToIdLookup:i.dataRowIdToIdLookup,dataRowIdToModelLookup:i.dataRowIdToModelLookup,previousGroupsToFetch:s}),f=e.current.unstable_applyPipeProcessors("hydrateRows",{tree:l,treeDepths:a,dataRowIdToIdLookup:i.dataRowIdToIdLookup,dataRowIds:c,dataRowIdToModelLookup:i.dataRowIdToModelLookup});return e.current.caches.rows.updates={type:"partial",actions:{insert:[],modify:[],remove:[]},idToActionLookup:{}},x({},f,{totalRowCount:Math.max(t,f.dataRowIds.length),totalTopLevelRowCount:YO({tree:f.tree,rowCountProp:t}),groupingName:u,loading:n,groupsToFetch:d})},Dc=e=>e.type==="skeletonRow"||e.type==="footer"||e.type==="group"&&e.isAutoGenerated||e.type==="pinnedRow"&&e.isAutoGenerated,BC=(e,t,n)=>{const r=e[t];if(r.type!=="group")return[];const o=[];for(let s=0;s{if(e.updates.type==="full")throw new Error("MUI X: Unable to prepare a partial update if a full update is not applied yet.");const o=new Map;n.forEach(u=>{const d=db(u,t,"A row was provided without id when calling updateRows():");o.has(d)?o.set(d,x({},o.get(d),u)):o.set(d,u)});const s={type:"partial",actions:{insert:[...e.updates.actions.insert??[]],modify:[...e.updates.actions.modify??[]],remove:[...e.updates.actions.remove??[]]},idToActionLookup:x({},e.updates.idToActionLookup),groupKeys:r},i=x({},e.dataRowIdToModelLookup),l=x({},e.dataRowIdToIdLookup),a={insert:{},modify:{},remove:{}};o.forEach((u,d)=>{const f=s.idToActionLookup[d];if(u._action==="delete"){if(f==="remove"||!i[d])return;f!=null&&(a[f][d]=!0),s.actions.remove.push(d),delete i[d],delete l[d];return}const h=i[d];if(h){f==="remove"?(a.remove[d]=!0,s.actions.modify.push(d)):f==null&&s.actions.modify.push(d),i[d]=x({},h,u);return}f==="remove"?(a.remove[d]=!0,s.actions.insert.push(d)):f==null&&s.actions.insert.push(d),i[d]=u,l[d]=d});const c=Object.keys(a);for(let u=0;u0&&(s.actions[d]=s.actions[d].filter(h=>!f[h]))}return{dataRowIdToModelLookup:i,dataRowIdToIdLookup:l,updates:s,rowsBeforePartialUpdates:e.rowsBeforePartialUpdates,loadingPropBeforePartialUpdates:e.loadingPropBeforePartialUpdates,rowCountPropBeforePartialUpdates:e.rowCountPropBeforePartialUpdates}},ZO="var(--DataGrid-overlayHeight, calc(var(--height) * 2))";function _P(e,t,n){const r=[];return t.forEach(o=>{const s=db(o,n,"A row was provided without id when calling updateRows():"),i=e.current.getRowNode(s);if((i==null?void 0:i.type)==="pinnedRow"){const l=e.current.caches.pinnedRows,a=l.idLookup[s];a&&(l.idLookup[s]=x({},a,o))}else r.push(o)}),r}const JO=(e,t,n)=>typeof e=="number"&&e>0?e:t,wK="__tree_data_group__",e2="__row_group_by_columns_group__",fb="__detail_panel_toggle__";let Je=function(e){return e[e.NONE=0]="NONE",e[e.LEFT=1]="LEFT",e[e.RIGHT=2]="RIGHT",e[e.VIRTUAL=3]="VIRTUAL",e}({});const SK=["id","value","formattedValue","api","field","row","rowNode","colDef","cellMode","isEditable","hasFocus","tabIndex","hideDescendantCount"],kK=e=>{const{classes:t}=e;return ve({root:["booleanCell"]},et,t)};function PK(e){const{value:t,rowNode:n}=e,r=te(e,SK),o=qe(),s=Te(),i={classes:s.classes},l=kK(i),c=he(o,la)>0&&n.type==="group"&&s.treeData===!1,u=p.useMemo(()=>t?s.slots.booleanCellTrueIcon:s.slots.booleanCellFalseIcon,[s.slots.booleanCellFalseIcon,s.slots.booleanCellTrueIcon,t]);return c&&t===void 0?null:v.jsx(u,x({fontSize:"small",className:l.root,titleAccess:o.current.getLocaleText(t?"booleanCellTrueLabel":"booleanCellFalseLabel"),"data-value":!!t},r))}const MK=p.memo(PK),IK=e=>e.field!==e2&&Dc(e.rowNode)?"":v.jsx(MK,x({},e)),EK=["id","value","formattedValue","api","field","row","rowNode","colDef","cellMode","isEditable","tabIndex","className","hasFocus","isValidating","isProcessingProps","error","onValueChange"],_K=e=>{const{classes:t}=e;return ve({root:["editBooleanCell"]},et,t)};function TK(e){var b;const{id:t,value:n,field:r,className:o,hasFocus:s,onValueChange:i}=e,l=te(e,EK),a=qe(),c=p.useRef(null),u=gt(),[d,f]=p.useState(n),h=Te(),g={classes:h.classes},m=_K(g),C=p.useCallback(async y=>{const w=y.target.checked;i&&await i(y,w),f(w),await a.current.setEditCellValue({id:t,field:r,value:w},y)},[a,r,t,i]);return p.useEffect(()=>{f(n)},[n]),Et(()=>{s&&c.current.focus()},[s]),v.jsx("label",x({htmlFor:u,className:le(m.root,o)},l,{children:v.jsx(h.slots.baseCheckbox,x({id:u,inputRef:c,checked:!!d,onChange:C,size:"small"},(b=h.slotProps)==null?void 0:b.baseCheckbox))}))}const RK=e=>v.jsx(TK,x({},e)),OK=["item","applyValue","apiRef","focusElementRef","isFilterActive","clearButton","tabIndex","label","variant","InputLabelProps"],yp=e=>{if(String(e).toLowerCase()==="true")return!0;if(String(e).toLowerCase()==="false")return!1},$K=re("div")({display:"flex",alignItems:"center",width:"100%","& button":{margin:"auto 0px 5px 5px"}});function FK(e){var S,k,P;const{item:t,applyValue:n,apiRef:r,focusElementRef:o,clearButton:s,tabIndex:i,label:l,variant:a="standard"}=e,c=te(e,OK),[u,d]=p.useState(yp(t.value)),f=Te(),h=gt(),g=gt(),m=((S=f.slotProps)==null?void 0:S.baseSelect)||{},C=m.native??!1,b=((k=f.slotProps)==null?void 0:k.baseSelectOption)||{},y=p.useCallback(M=>{const I=yp(M.target.value);d(I),n(x({},t,{value:I}))},[n,t]);p.useEffect(()=>{d(yp(t.value))},[t.value]);const w=l??r.current.getLocaleText("filterPanelInputLabel");return v.jsxs($K,{children:[v.jsxs(f.slots.baseFormControl,{fullWidth:!0,children:[v.jsx(f.slots.baseInputLabel,x({},(P=f.slotProps)==null?void 0:P.baseInputLabel,{id:h,shrink:!0,variant:a,children:w})),v.jsxs(f.slots.baseSelect,x({labelId:h,id:g,label:w,value:u===void 0?"":String(u),onChange:y,variant:a,notched:a==="outlined"?!0:void 0,native:C,displayEmpty:!0,inputProps:{ref:o,tabIndex:i}},c,m,{children:[v.jsx(f.slots.baseSelectOption,x({},b,{native:C,value:"",children:r.current.getLocaleText("filterValueAny")})),v.jsx(f.slots.baseSelectOption,x({},b,{native:C,value:"true",children:r.current.getLocaleText("filterValueTrue")})),v.jsx(f.slots.baseSelectOption,x({},b,{native:C,value:"false",children:r.current.getLocaleText("filterValueFalse")}))]}))]}),s]})}const LK=()=>[{value:"is",getApplyFilterFn:e=>{const t=yp(e.value);return t===void 0?null:n=>!!n===t},InputComponent:FK}],DK=(e,t,n,r)=>e?r.current.getLocaleText("booleanCellTrueLabel"):r.current.getLocaleText("booleanCellFalseLabel"),AK=e=>{switch(e.toLowerCase().trim()){case"true":case"yes":case"1":return!0;case"false":case"no":case"0":case"null":case"undefined":return!1;default:return}},t2=x({},Fo,{type:"boolean",display:"flex",align:"center",headerAlign:"center",renderCell:IK,renderEditCell:RK,sortComparator:AO,valueFormatter:DK,filterOperators:LK(),getApplyQuickFilterFn:void 0,aggregable:!1,pastedValueParser:e=>AK(e)}),n2=e=>e.sorting,fu=Be(n2,e=>e.sortedRows),VC=ft(fu,to,mn,(e,t,n)=>e.reduce((r,o)=>{const s=t[o];if(s)r.push({id:o,model:s});else{const i=n[o];i&&Dc(i)&&r.push({id:o,model:{[Lc]:o}})}return r},[])),So=Be(n2,e=>e.sortModel),jK=ft(So,e=>e.reduce((n,r,o)=>(n[r.field]={sortDirection:r.sort,sortIndex:e.length>1?o+1:void 0},n),{}));ft(fu,e=>e.reduce((t,n,r)=>(t[n]=r,t),Object.create(null)));const hb=e=>e.filter,_n=Be(hb,e=>e.filterModel),r2=Be(_n,e=>e.quickFilterValues),zK=e=>e.visibleRowsLookup,hu=Be(hb,e=>e.filteredRowsLookup);Be(hb,e=>e.filteredChildrenCountLookup);Be(hb,e=>e.filteredDescendantCountLookup);const ol=ft(zK,VC,la,_n,r2,(e,t,n,r,o)=>n<2&&!r.items.length&&!(o!=null&&o.length)?t:t.filter(s=>e[s.id]!==!1)),nc=ft(ol,e=>e.map(t=>t.id)),o2=ft(hu,VC,(e,t)=>t.filter(n=>e[n.id]!==!1)),s2=ft(o2,e=>e.map(t=>t.id));ft(nc,mn,(e,t)=>{const n={};let r=0;return e.reduce((o,s)=>{const i=t[s];return n[i.depth]||(n[i.depth]=0),i.depth>r&&(n[i.depth]=0),r=i.depth,n[i.depth]+=1,o[s]=n[i.depth],o},{})});const i2=ft(ol,mn,la,(e,t,n)=>n<2?e:e.filter(r=>{var o;return((o=t[r.id])==null?void 0:o.depth)===0})),WC=Be(ol,e=>e.length),GC=Be(i2,e=>e.length),NK=Be(o2,e=>e.length);Be(NK,GC,(e,t)=>e-t);const UC=ft(_n,hs,(e,t)=>{var n;return(n=e.items)==null?void 0:n.filter(r=>{var i,l;if(!r.field)return!1;const o=t[r.field];if(!(o!=null&&o.filterOperators)||((i=o==null?void 0:o.filterOperators)==null?void 0:i.length)===0)return!1;const s=o.filterOperators.find(a=>a.value===r.operator);return s?!s.InputComponent||r.value!=null&&((l=r.value)==null?void 0:l.toString())!=="":!1})}),HK=ft(UC,e=>e.reduce((n,r)=>(n[r.field]?n[r.field].push(r):n[r.field]=[r],n),{})),_r=e=>e.rowSelection,BK=Be(_r,e=>e.length),VK=ft(_r,to,(e,t)=>new Map(e.map(n=>[n,t[n]]))),Wi=ft(_r,e=>e.reduce((t,n)=>(t[n]=n,t),{}));function l2(e,t){var a;const n=mn(e),r=fu(e),o=hu(e),s=n[t];if(!s||s.type!=="group")return[];const i=[],l=r.findIndex(c=>c===t)+1;for(let c=l;cs.depth;c+=1){const u=r[c];o[u]!==!1&&e.current.isRowSelectable(u)&&i.push(u)}return i}function WK(e,t){return Be(mn,fu,hu,Wi,(n,r,o,s)=>{var u;const i=n[e];if(!i||i.type!=="group")return{isIndeterminate:!1,isChecked:s[e]===e};if(s[e]===e)return{isIndeterminate:!1,isChecked:!0};let l=0,a=0;const c=r.findIndex(d=>d===e)+1;for(let d=c;di.depth;d+=1){const f=r[d];o[f]!==!1&&(l+=1,s[f]!==void 0&&(a+=1))}return{isIndeterminate:a>0&&(a0:s[e]===e}})}function KC(e){return e.signature===io.DataGrid?e.checkboxSelection&&e.disableMultipleRowSelection!==!0:!e.disableMultipleRowSelection}const GK=(e,t)=>{const n=[];let r=t;for(;r!=null&&r!==jn;){const o=e[r];if(!o)return n;n.push(r),r=o.parent}return n},UK=(e,t,n)=>{const r=e[n];if(!r)return[];const o=r.parent;return o==null?[]:e[o].children.filter(i=>i!==n&&t[i]!==!1)},Nu=(e,t,n,r,o,s,i=new Set(_r(e.current.state)))=>{const l=hu(e),a=new Set([]);if(!(!r&&!o||l[n]===!1)){if(r){const c=t[n];(c==null?void 0:c.type)==="group"&&l2(e,n).forEach(d=>{s(d),a.add(d)})}if(o){const c=d=>{if(!i.has(d)&&!a.has(d))return!1;const f=t[d];return f?f.type!=="group"?!0:f.children.every(c):!1},u=d=>{const f=UK(t,l,d);if(f.length===0||f.every(c)){const h=t[d],g=h==null?void 0:h.parent;g!=null&&g!==jn&&e.current.isRowSelectable(g)&&(s(g),a.add(g),u(g))}};u(n)}}},TP=(e,t,n,r,o,s)=>{const i=Wi(e);if(!(!o&&!r)&&(o&&GK(t,n).forEach(a=>{i[a]===a&&s(a)}),r)){const l=t[n];(l==null?void 0:l.type)==="group"&&l2(e,n).forEach(c=>{s(c)})}},KK=["field","id","formattedValue","row","rowNode","colDef","isEditable","cellMode","hasFocus","tabIndex","api"],qK=e=>{const{classes:t}=e;return ve({root:["checkboxInput"]},et,t)},XK=at(function(t,n){var I,E;const{field:r,id:o,rowNode:s,hasFocus:i,tabIndex:l}=t,a=te(t,KK),c=qe(),u=Te(),d={classes:u.classes},f=qK(d),h=p.useRef(null),g=p.useRef(null),m=vt(h,n),C=T=>{const D={value:T.target.checked,id:o};c.current.publishEvent("rowSelectionCheckboxChange",D,T)};p.useLayoutEffect(()=>{if(l===0){const T=c.current.getCellElement(o,r);T&&(T.tabIndex=-1)}},[c,l,o,r]),p.useEffect(()=>{var T;if(i){const D=(T=h.current)==null?void 0:T.querySelector("input");D==null||D.focus({preventScroll:!0})}else g.current&&g.current.stop({})},[i]);const b=p.useCallback(T=>{T.key===" "&&T.stopPropagation()},[]),y=c.current.isRowSelectable(o),w=WK(o,((I=u.rowSelectionPropagation)==null?void 0:I.parents)??!1),{isIndeterminate:S,isChecked:k}=he(c,w,DC);if(s.type==="footer"||s.type==="pinnedRow")return null;const P=u.indeterminateCheckboxAction==="select"?k&&!S:k,M=c.current.getLocaleText(P?"checkboxSelectionUnselectRow":"checkboxSelectionSelectRow");return v.jsx(u.slots.baseCheckbox,x({tabIndex:l,checked:P,onChange:C,className:f.root,inputProps:{"aria-label":M,name:"select_row"},onKeyDown:b,indeterminate:S,disabled:!y,touchRippleRef:g},(E=u.slotProps)==null?void 0:E.baseCheckbox,a,{ref:m}))}),YK=XK,pb=e=>e.focus,cr=Be(pb,e=>e.cell),QK=Be(pb,e=>e.columnHeader);Be(pb,e=>e.columnHeaderFilter);const wg=Be(pb,e=>e.columnGroupHeader),gb=e=>e.tabIndex,qC=Be(gb,e=>e.cell),a2=Be(gb,e=>e.columnHeader);Be(gb,e=>e.columnHeaderFilter);const ZK=Be(gb,e=>e.columnGroupHeader);function Xe(e,t,n){const r=p.useRef(!0);Et(()=>{r.current=!1,e.current.register(n,t)},[e,n,t]),r.current&&e.current.register(n,t)}function Mn(e,t){const n=p.useRef(null);if(n.current)return n.current;const r=e.current.getLogger(t);return n.current=r,r}const c2=(e,t,n,r,o)=>{const s=Mn(e,"useNativeEventListener");St(e,"rootMount",()=>{const i=typeof t=="function"?t():t.current;if(!(!i||!n||!r))return s.debug(`Binding native ${n} event`),i.addEventListener(n,r,o),()=>{s.debug(`Clearing native ${n} event`),i.removeEventListener(n,r,o)}})},qf=e=>{const t=p.useRef(!0);t.current&&(t.current=!1,e())},JK=()=>{},eq=(e,t)=>{const n=p.useRef(!1);Et(()=>n.current||!e?JK:(n.current=!0,t()),[n.current||e])},tq=100,nq=e=>e?0:100,u2=(e,t,n)=>t>0&&e>0?Math.ceil(e/t):e===-1?n+2:0,d2=e=>({page:0,pageSize:e?0:100}),rq=(e,t=0)=>t===0?e:Math.max(Math.min(e,t-1),0),f2=(e,t)=>{if(t===io.DataGrid&&e>tq)throw new Error(["MUI X: `pageSize` cannot exceed 100 in the MIT version of the DataGrid.","You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature."].join(`
+`))},oq=-1,Xf=e=>e.pagination,h2=Be(Xf,e=>e.enabled&&e.paginationMode==="client"),Un=Be(Xf,e=>e.paginationModel),Va=Be(Xf,e=>e.rowCount),rd=Be(Xf,e=>e.meta),sq=Be(Un,e=>e.page),p2=Be(Un,e=>e.pageSize),g2=Be(Un,Va,(e,t)=>u2(t,e.pageSize,e.page)),XC=ft(h2,Un,mn,la,ol,i2,(e,t,n,r,o,s)=>{var g;if(!e)return null;const i=s.length,l=Math.min(t.pageSize*t.page,i-1),a=t.pageSize===oq?i-1:Math.min(l+t.pageSize-1,i-1);if(l===-1||a===-1)return null;if(r<2)return{firstRowIndex:l,lastRowIndex:a};const c=s[l],u=a-l+1,d=o.findIndex(m=>m.id===c.id);let f=d,h=0;for(;f0)&&(f+=1),C===0&&(h+=1))}return{firstRowIndex:d,lastRowIndex:f-1}}),iq=ft(ol,XC,(e,t)=>t?e.slice(t.firstRowIndex,t.lastRowIndex+1):[]),m2=ft(nc,XC,(e,t)=>t?e.slice(t.firstRowIndex,t.lastRowIndex+1):[]),Yf=ft(h2,XC,iq,ol,(e,t,n,r)=>e?{rows:n,range:t,rowToIndexMap:n.reduce((o,s,i)=>(o.set(s.model,i),o),new Map)}:{rows:r,range:r.length===0?null:{firstRowIndex:0,lastRowIndex:r.length-1},rowToIndexMap:r.reduce((o,s,i)=>(o.set(s.model,i),o),new Map)}),lq=["field","colDef"],aq=e=>{const{classes:t}=e;return ve({root:["checkboxInput"]},et,t)},cq=at(function(t,n){var I;const r=te(t,lq),[,o]=p.useState(!1),s=qe(),i=Te(),l={classes:i.classes},a=aq(l),c=he(s,a2),u=he(s,_r),d=he(s,nc),f=he(s,m2),h=p.useMemo(()=>typeof i.isRowSelectable!="function"?u:u.filter(E=>i.keepNonExistentRowsSelected?!0:s.current.getRow(E)?i.isRowSelectable(s.current.getRowParams(E)):!1),[s,i.isRowSelectable,u,i.keepNonExistentRowsSelected]),g=p.useMemo(()=>(!i.pagination||!i.checkboxSelectionVisibleOnly||i.paginationMode==="server"?d:f).reduce((T,D)=>(T[D]=!0,T),{}),[i.pagination,i.paginationMode,i.checkboxSelectionVisibleOnly,f,d]),m=p.useMemo(()=>h.filter(E=>g[E]).length,[h,g]),C=m>0&&m0,y=E=>{const T={value:E.target.checked};s.current.publishEvent("headerSelectionCheckboxChange",T)},w=c!==null&&c.field===t.field?0:-1;p.useLayoutEffect(()=>{const E=s.current.getColumnHeaderElement(t.field);w===0&&E&&(E.tabIndex=-1)},[w,s,t.field]);const S=p.useCallback(E=>{E.key===" "&&s.current.publishEvent("headerSelectionCheckboxChange",{value:!b})},[s,b]),k=p.useCallback(()=>{o(E=>!E)},[]);p.useEffect(()=>s.current.subscribeEvent("rowSelectionChange",k),[s,k]);const P=i.indeterminateCheckboxAction==="select"?b&&!C:b,M=s.current.getLocaleText(P?"checkboxSelectionUnselectAllRows":"checkboxSelectionSelectAllRows");return v.jsx(i.slots.baseCheckbox,x({indeterminate:C,checked:P,onChange:y,className:a.root,inputProps:{"aria-label":M,name:"select_all_rows"},tabIndex:w,onKeyDown:S,disabled:!KC(i)},(I=i.slotProps)==null?void 0:I.baseCheckbox,r,{ref:n}))}),Qf=(e,t)=>Lc in t?t[Lc]:e.props.getRowId?e.props.getRowId(t):t.id,Wr="__check__",pu=x({},t2,{type:"custom",field:Wr,width:50,resizable:!1,sortable:!1,filterable:!1,aggregable:!1,disableColumnMenu:!0,disableReorder:!0,disableExport:!0,getApplyQuickFilterFn:void 0,display:"flex",valueGetter:(e,t,n,r)=>{const o=Wi(r),s=Qf(r.current.state,t);return o[s]!==void 0},renderHeader:e=>v.jsx(cq,x({},e)),renderCell:e=>v.jsx(YK,x({},e))}),uq=["item","applyValue","type","apiRef","focusElementRef","InputProps","isFilterActive","clearButton","tabIndex","disabled"];function RP(e,t){if(e==null)return"";const n=new Date(e);return Number.isNaN(n.getTime())?"":t==="date"?n.toISOString().substring(0,10):t==="datetime-local"?(n.setMinutes(n.getMinutes()-n.getTimezoneOffset()),n.toISOString().substring(0,19)):n.toISOString().substring(0,10)}function va(e){var w;const{item:t,applyValue:n,type:r,apiRef:o,focusElementRef:s,InputProps:i,clearButton:l,tabIndex:a,disabled:c}=e,u=te(e,uq),d=pr(),[f,h]=p.useState(()=>RP(t.value,r)),[g,m]=p.useState(!1),C=gt(),b=Te(),y=p.useCallback(S=>{d.clear();const k=S.target.value;h(k),m(!0),d.start(b.filterDebounceMs,()=>{const P=new Date(k);n(x({},t,{value:Number.isNaN(P.getTime())?void 0:P})),m(!1)})},[n,t,b.filterDebounceMs,d]);return p.useEffect(()=>{const S=RP(t.value,r);h(S)},[t.value,r]),v.jsx(b.slots.baseTextField,x({fullWidth:!0,id:C,label:o.current.getLocaleText("filterPanelInputLabel"),placeholder:o.current.getLocaleText("filterPanelInputPlaceholder"),value:f,onChange:y,variant:"standard",type:r||"text",InputLabelProps:{shrink:!0},inputRef:s,InputProps:x({},g||l?{endAdornment:g?v.jsx(b.slots.loadIcon,{fontSize:"small",color:"action"}):l}:{},{disabled:c},i,{inputProps:x({max:r==="datetime-local"?"9999-12-31T23:59":"9999-12-31",tabIndex:a},i==null?void 0:i.inputProps)})},u,(w=b.slotProps)==null?void 0:w.baseTextField))}function ya(e,t,n,r){if(!e.value)return null;const o=new Date(e.value);n?o.setSeconds(0,0):(o.setMinutes(o.getMinutes()+o.getTimezoneOffset()),o.setHours(0,0,0,0));const s=o.getTime();return i=>{if(!i)return!1;if(r)return t(i.getTime(),s);const l=new Date(i);return n?l.setSeconds(0,0):l.setHours(0,0,0,0),t(l.getTime(),s)}}const b2=e=>[{value:"is",getApplyFilterFn:t=>ya(t,(n,r)=>n===r,e),InputComponent:va,InputComponentProps:{type:e?"datetime-local":"date"}},{value:"not",getApplyFilterFn:t=>ya(t,(n,r)=>n!==r,e),InputComponent:va,InputComponentProps:{type:e?"datetime-local":"date"}},{value:"after",getApplyFilterFn:t=>ya(t,(n,r)=>n>r,e),InputComponent:va,InputComponentProps:{type:e?"datetime-local":"date"}},{value:"onOrAfter",getApplyFilterFn:t=>ya(t,(n,r)=>n>=r,e),InputComponent:va,InputComponentProps:{type:e?"datetime-local":"date"}},{value:"before",getApplyFilterFn:t=>ya(t,(n,r)=>nya(t,(n,r)=>n<=r,e),InputComponent:va,InputComponentProps:{type:e?"datetime-local":"date"}},{value:"isEmpty",getApplyFilterFn:()=>t=>t==null,requiresFilterValue:!1},{value:"isNotEmpty",getApplyFilterFn:()=>t=>t!=null,requiresFilterValue:!1}],dq=["id","value","formattedValue","api","field","row","rowNode","colDef","cellMode","isEditable","tabIndex","hasFocus","inputProps","isValidating","isProcessingProps","onValueChange"],fq=re(tu)({fontSize:"inherit"}),hq=e=>{const{classes:t}=e;return ve({root:["editInputCell"]},et,t)};function pq(e){const{id:t,value:n,field:r,colDef:o,hasFocus:s,inputProps:i,onValueChange:l}=e,a=te(e,dq),c=o.type==="dateTime",u=qe(),d=p.useRef(null),f=p.useMemo(()=>{let S;n==null?S=null:n instanceof Date?S=n:S=new Date((n??"").toString());let k;return S==null||Number.isNaN(S.getTime())?k="":k=new Date(S.getTime()-S.getTimezoneOffset()*60*1e3).toISOString().substr(0,c?16:10),{parsed:S,formatted:k}},[n,c]),[h,g]=p.useState(f),C={classes:Te().classes},b=hq(C),y=p.useCallback(S=>{if(S==="")return null;const[k,P]=S.split("T"),[M,I,E]=k.split("-"),T=new Date;if(T.setFullYear(Number(M),Number(I)-1,Number(E)),T.setHours(0,0,0,0),P){const[D,$]=P.split(":");T.setHours(Number(D),Number($),0,0)}return T},[]),w=p.useCallback(async S=>{const k=S.target.value,P=y(k);l&&await l(S,P),g({parsed:P,formatted:k}),u.current.setEditCellValue({id:t,field:r,value:P},S)},[u,r,t,l,y]);return p.useEffect(()=>{g(S=>{var k,P;return f.parsed!==S.parsed&&((k=f.parsed)==null?void 0:k.getTime())!==((P=S.parsed)==null?void 0:P.getTime())?f:S})},[f]),Et(()=>{s&&d.current.focus()},[s]),v.jsx(fq,x({inputRef:d,fullWidth:!0,className:b.root,type:c?"datetime-local":"date",inputProps:x({max:c?"9999-12-31T23:59":"9999-12-31"},i),value:h.formatted,onChange:w},a))}const v2=e=>v.jsx(pq,x({},e));function y2({value:e,columnType:t,rowId:n,field:r}){if(!(e instanceof Date))throw new Error([`MUI X: \`${t}\` column type only accepts \`Date\` objects as values.`,"Use `valueGetter` to transform the value into a `Date` object.",`Row ID: ${n}, field: "${r}".`].join(`
+`))}const gq=(e,t,n,r)=>{if(!e)return"";const o=Qf(r.current.state,t);return y2({value:e,columnType:"date",rowId:o,field:n.field}),e.toLocaleDateString()},mq=(e,t,n,r)=>{if(!e)return"";const o=Qf(r.current.state,t);return y2({value:e,columnType:"dateTime",rowId:o,field:n.field}),e.toLocaleString()},bq=x({},Fo,{type:"date",sortComparator:jO,valueFormatter:gq,filterOperators:b2(),renderEditCell:v2,pastedValueParser:e=>new Date(e)}),vq=x({},Fo,{type:"dateTime",sortComparator:jO,valueFormatter:mq,filterOperators:b2(!0),renderEditCell:v2,pastedValueParser:e=>new Date(e)}),ui=e=>e==null?null:Number(e),yq=e=>e==null||Number.isNaN(e)||e===""?null:t=>ui(t)===ui(e),xq=()=>[{value:"=",getApplyFilterFn:e=>e.value==null||Number.isNaN(e.value)?null:t=>ui(t)===e.value,InputComponent:Jr,InputComponentProps:{type:"number"}},{value:"!=",getApplyFilterFn:e=>e.value==null||Number.isNaN(e.value)?null:t=>ui(t)!==e.value,InputComponent:Jr,InputComponentProps:{type:"number"}},{value:">",getApplyFilterFn:e=>e.value==null||Number.isNaN(e.value)?null:t=>t==null?!1:ui(t)>e.value,InputComponent:Jr,InputComponentProps:{type:"number"}},{value:">=",getApplyFilterFn:e=>e.value==null||Number.isNaN(e.value)?null:t=>t==null?!1:ui(t)>=e.value,InputComponent:Jr,InputComponentProps:{type:"number"}},{value:"<",getApplyFilterFn:e=>e.value==null||Number.isNaN(e.value)?null:t=>t==null?!1:ui(t)e.value==null||Number.isNaN(e.value)?null:t=>t==null?!1:ui(t)<=e.value,InputComponent:Jr,InputComponentProps:{type:"number"}},{value:"isEmpty",getApplyFilterFn:()=>e=>e==null,requiresFilterValue:!1},{value:"isNotEmpty",getApplyFilterFn:()=>e=>e!=null,requiresFilterValue:!1},{value:"isAnyOf",getApplyFilterFn:e=>!Array.isArray(e.value)||e.value.length===0?null:t=>t!=null&&e.value.includes(Number(t)),InputComponent:NO,InputComponentProps:{type:"number"}}],Cq=x({},Fo,{type:"number",align:"right",headerAlign:"right",sortComparator:AO,valueParser:e=>e===""?null:Number(e),valueFormatter:e=>q7(e)?e.toLocaleString():e||"",filterOperators:xq(),getApplyQuickFilterFn:yq});function Ac(e){return(e==null?void 0:e.type)==="singleSelect"}function Ql(e,t){if(e)return typeof e.valueOptions=="function"?e.valueOptions(x({field:e.field},t)):e.valueOptions}function Sg(e,t,n){if(t===void 0)return;const r=t.find(o=>{const s=n(o);return String(s)===String(e)});return n(r)}const wq=["id","value","formattedValue","api","field","row","rowNode","colDef","cellMode","isEditable","tabIndex","className","hasFocus","isValidating","isProcessingProps","error","onValueChange","initialOpen"],Sq=["MenuProps"];function kq(e){return!!e.key}function Pq(e){var $,L;const t=Te(),{id:n,value:r,field:o,row:s,colDef:i,hasFocus:l,error:a,onValueChange:c,initialOpen:u=t.editMode===us.Cell}=e,d=te(e,wq),f=qe(),h=p.useRef(null),g=p.useRef(null),[m,C]=p.useState(u),y=((($=t.slotProps)==null?void 0:$.baseSelect)||{}).native??!1,w=((L=t.slotProps)==null?void 0:L.baseSelect)||{},{MenuProps:S}=w,k=te(w,Sq);if(Et(()=>{var A;l&&((A=g.current)==null||A.focus())},[l]),!Ac(i))return null;const P=Ql(i,{id:n,row:s});if(!P)return null;const M=i.getOptionValue,I=i.getOptionLabel,E=async A=>{if(!Ac(i)||!P)return;C(!1);const R=A.target,_=Sg(R.value,P,M);c&&await c(A,_),await f.current.setEditCellValue({id:n,field:o,value:_},A)},T=(A,R)=>{if(t.editMode===us.Row){C(!1);return}if(R==="backdropClick"||A.key==="Escape"){const _=f.current.getCellParams(n,o);f.current.publishEvent("cellEditStop",x({},_,{reason:A.key==="Escape"?wo.escapeKeyDown:wo.cellFocusOut}))}},D=A=>{kq(A)&&A.key==="Enter"||C(!0)};return!P||!i?null:v.jsx(t.slots.baseSelect,x({ref:h,inputRef:g,value:r,onChange:E,open:m,onOpen:D,MenuProps:x({onClose:T},S),error:a,native:y,fullWidth:!0},d,k,{children:P.map(A=>{var _;const R=M(A);return p.createElement(t.slots.baseSelectOption,x({},((_=t.slotProps)==null?void 0:_.baseSelectOption)||{},{native:y,key:R,value:R}),I(A))})}))}const Mq=e=>v.jsx(Pq,x({},e)),Iq=["item","applyValue","type","apiRef","focusElementRef","placeholder","tabIndex","label","variant","isFilterActive","clearButton","InputLabelProps"],Eq=({column:e,OptionComponent:t,getOptionLabel:n,getOptionValue:r,isSelectNative:o,baseSelectOptionProps:s})=>["",...Ql(e)||[]].map(l=>{const a=r(l);let c=n(l);return c===""&&(c=" "),p.createElement(t,x({},s,{native:o,key:a,value:a}),c)}),_q=re("div")({display:"flex",alignItems:"flex-end",width:"100%","& button":{margin:"auto 0px 5px 5px"}});function OP(e){var M,I,E,T,D;const{item:t,applyValue:n,type:r,apiRef:o,focusElementRef:s,placeholder:i,tabIndex:l,label:a,variant:c="standard",clearButton:u}=e,d=te(e,Iq),f=t.value??"",h=gt(),g=gt(),m=Te(),C=((I=(M=m.slotProps)==null?void 0:M.baseSelect)==null?void 0:I.native)??!1;let b=null;if(t.field){const $=o.current.getColumn(t.field);Ac($)&&(b=$)}const y=b==null?void 0:b.getOptionValue,w=b==null?void 0:b.getOptionLabel,S=p.useMemo(()=>Ql(b),[b]),k=p.useCallback($=>{let L=$.target.value;L=Sg(L,S,y),n(x({},t,{value:L}))},[S,y,n,t]);if(!Ac(b))return null;const P=a??o.current.getLocaleText("filterPanelInputLabel");return v.jsxs(_q,{children:[v.jsxs(m.slots.baseFormControl,{fullWidth:!0,children:[v.jsx(m.slots.baseInputLabel,x({},(E=m.slotProps)==null?void 0:E.baseInputLabel,{id:g,htmlFor:h,shrink:!0,variant:c,children:P})),v.jsx(m.slots.baseSelect,x({id:h,label:P,labelId:g,value:f,onChange:k,variant:c,type:r||"text",inputProps:{tabIndex:l,ref:s,placeholder:i??o.current.getLocaleText("filterPanelInputPlaceholder")},native:C,notched:c==="outlined"?!0:void 0},d,(T=m.slotProps)==null?void 0:T.baseSelect,{children:Eq({column:b,OptionComponent:m.slots.baseSelectOption,getOptionLabel:w,getOptionValue:y,isSelectNative:C,baseSelectOptionProps:(D=m.slotProps)==null?void 0:D.baseSelectOption})}))]}),u]})}const Tq=["item","applyValue","type","apiRef","focusElementRef","color","error","helperText","size","variant"],Rq=["key"],Oq=TR();function $q(e){const{item:t,applyValue:n,apiRef:r,focusElementRef:o,color:s,error:i,helperText:l,size:a,variant:c="standard"}=e,u=te(e,Tq),d={color:s,error:i,helperText:l,size:a,variant:c},f=gt(),h=Te();let g=null;if(t.field){const k=r.current.getColumn(t.field);Ac(k)&&(g=k)}const m=g==null?void 0:g.getOptionValue,C=g==null?void 0:g.getOptionLabel,b=p.useCallback((k,P)=>m(k)===m(P),[m]),y=p.useMemo(()=>Ql(g)||[],[g]),w=p.useMemo(()=>Array.isArray(t.value)?t.value.reduce((k,P)=>{const M=y.find(I=>m(I)===P);return M!=null&&k.push(M),k},[]):[],[m,t.value,y]),S=p.useCallback((k,P)=>{n(x({},t,{value:P.map(m)}))},[n,t,m]);return v.jsx(yC,x({multiple:!0,options:y,isOptionEqualToValue:b,filterOptions:Oq,id:f,value:w,onChange:S,getOptionLabel:C,renderTags:(k,P)=>k.map((M,I)=>{const E=P({index:I}),{key:T}=E,D=te(E,Rq);return v.jsx(h.slots.baseChip,x({variant:"outlined",size:"small",label:C(M)},D),T)}),renderInput:k=>{var P;return v.jsx(h.slots.baseTextField,x({},k,{label:r.current.getLocaleText("filterPanelInputLabel"),placeholder:r.current.getLocaleText("filterPanelInputPlaceholder"),InputLabelProps:x({},k.InputLabelProps,{shrink:!0}),inputRef:o,type:"singleSelect"},d,(P=h.slotProps)==null?void 0:P.baseTextField))}},u))}const xa=e=>e==null||!zC(e)?e:e.value,Fq=()=>[{value:"is",getApplyFilterFn:e=>e.value==null||e.value===""?null:t=>xa(t)===xa(e.value),InputComponent:OP},{value:"not",getApplyFilterFn:e=>e.value==null||e.value===""?null:t=>xa(t)!==xa(e.value),InputComponent:OP},{value:"isAnyOf",getApplyFilterFn:e=>{if(!Array.isArray(e.value)||e.value.length===0)return null;const t=e.value.map(xa);return n=>t.includes(xa(n))},InputComponent:$q}],Lq=e=>typeof e[0]=="object",Dq=e=>zC(e)?e.value:e,Aq=e=>zC(e)?e.label:String(e),jq=x({},Fo,{type:"singleSelect",getOptionLabel:Aq,getOptionValue:Dq,valueFormatter(e,t,n,r){const o=Qf(r.current.state,t);if(!Ac(n))return"";const s=Ql(n,{id:o,row:t});if(e==null)return"";if(!s)return e;if(!Lq(s))return n.getOptionLabel(e);const i=s.find(l=>n.getOptionValue(l)===e);return i?n.getOptionLabel(i):""},renderEditCell:Mq,filterOperators:Fq(),pastedValueParser:(e,t,n)=>{const r=n,o=Ql(r)||[],s=r.getOptionValue;if(o.find(l=>s(l)===e))return e}}),zq="string",Nq=()=>({string:Fo,number:Cq,date:bq,dateTime:vq,boolean:t2,singleSelect:jq,[ub]:yK,custom:Fo}),YC=e=>e.headerFiltering,Hq=Be(YC,e=>(e==null?void 0:e.enabled)??!1),Bq=Be(YC,e=>e.editing),Vq=Be(YC,e=>e.menuOpen),mb=e=>e.columnGrouping,x2=ft(mb,e=>(e==null?void 0:e.unwrappedGroupingModel)??{}),C2=ft(mb,e=>(e==null?void 0:e.lookup)??{}),Wq=ft(mb,e=>(e==null?void 0:e.headerStructure)??[]),Zf=Be(mb,e=>(e==null?void 0:e.maxDepth)??0),w2=["maxWidth","minWidth","width","flex"],wv=Nq();function Gq({initialFreeSpace:e,totalFlexUnits:t,flexColumns:n}){const r=new Set(n.map(i=>i.field)),o={all:{},frozenFields:[],freeze:i=>{const l=o.all[i];l&&l.frozen!==!0&&(o.all[i].frozen=!0,o.frozenFields.push(i))}};function s(){if(o.frozenFields.length===r.size)return;const i={min:{},max:{}};let l=e,a=t,c=0;o.frozenFields.forEach(u=>{l-=o.all[u].computedWidth,a-=o.all[u].flex});for(let u=0;ud.maxWidth&&(c+=d.maxWidth-h,h=d.maxWidth,i.max[d.field]=!0),o.all[d.field]={frozen:!1,computedWidth:h,flex:d.flex}}c<0?Object.keys(i.max).forEach(u=>{o.freeze(u)}):c>0?Object.keys(i.min).forEach(u=>{o.freeze(u)}):n.forEach(({field:u})=>{o.freeze(u)}),s()}return s(),o.all}const gx=(e,t)=>{const n={};let r=0,o=0;const s=[];e.orderedFields.forEach(a=>{let c=e.lookup[a],u=0,d=!1;e.columnVisibilityModel[a]!==!1&&(c.flex&&c.flex>0?(r+=c.flex,d=!0):u=Ar(c.width||Fo.width,c.minWidth||Fo.minWidth,c.maxWidth||Fo.maxWidth),o+=u),c.computedWidth!==u&&(c=x({},c,{computedWidth:u})),d&&s.push(c),n[a]=c});const i=t===void 0?0:t.viewportOuterSize.width-(t.hasScrollY?t.scrollbarSize:0),l=Math.max(i-o,0);if(r>0&&i>0){const a=Gq({initialFreeSpace:l,totalFlexUnits:r,flexColumns:s});Object.keys(a).forEach(c=>{n[c].computedWidth=a[c].computedWidth})}return x({},e,{lookup:n})},Uq=(e,t)=>{if(!t)return e;const{orderedFields:n=[],dimensions:r={}}=t,o=Object.keys(r);if(o.length===0&&n.length===0)return e;const s={},i=[];for(let u=0;u!s[u])],a=x({},e.lookup);for(let u=0;u{f[h]=g===-1?1/0:g}),a[d]=f}return x({},e,{orderedFields:l,lookup:a})};function $P(e){let t=wv[zq];return e&&wv[e]&&(t=wv[e]),t}const Ia=({apiRef:e,columnsToUpsert:t,initialState:n,columnVisibilityModel:r=no(e),keepOnlyColumnsToUpsert:o=!1})=>{var u,d;const s=!e.current.state.columns;let i;if(s)i={orderedFields:[],lookup:{},columnVisibilityModel:r};else{const f=ls(e.current.state);i={orderedFields:o?[]:[...f.orderedFields],lookup:x({},f.lookup),columnVisibilityModel:r}}let l={};o&&!s&&(l=Object.keys(i.lookup).reduce((f,h)=>x({},f,{[h]:!1}),{})),t.forEach(f=>{const{field:h}=f;l[h]=!0;let g=i.lookup[h];g==null?(g=x({},$P(f.type),{field:h,hasBeenResized:!1}),i.orderedFields.push(h)):o&&i.orderedFields.push(h),g&&g.type!==f.type&&(g=x({},$P(f.type),{field:h}));let m=g.hasBeenResized;w2.forEach(C=>{f[C]!==void 0&&(m=!0,f[C]===-1&&(f[C]=1/0))}),i.lookup[h]=Ic(g,x({},f,{hasBeenResized:m}))}),o&&!s&&Object.keys(i.lookup).forEach(f=>{l[f]||delete i.lookup[f]});const a=e.current.unstable_applyPipeProcessors("hydrateColumns",i),c=Uq(a,n);return gx(c,((d=(u=e.current).getRootDimensions)==null?void 0:d.call(u))??void 0)};function Kq({firstColumnToRender:e,apiRef:t,firstRowToRender:n,lastRowToRender:r,visibleRows:o}){let s=e,i=!1;for(;!i;){i=!0;for(let l=n;le.rowsMeta,kg=1,S2=1.5,qq=e=>{const{scrollDirection:t,classes:n}=e,r={root:["scrollArea",`scrollArea--${t}`]};return ve(r,et,n)},Xq=Rt("div",{name:"MuiDataGrid",slot:"ScrollArea",overridesResolver:(e,t)=>[{[`&.${N["scrollArea--left"]}`]:t["scrollArea--left"]},{[`&.${N["scrollArea--right"]}`]:t["scrollArea--right"]},{[`&.${N["scrollArea--up"]}`]:t["scrollArea--up"]},{[`&.${N["scrollArea--down"]}`]:t["scrollArea--down"]},t.scrollArea]})(()=>({position:"absolute",zIndex:101,[`&.${N["scrollArea--left"]}`]:{top:0,left:0,width:20,bottom:0},[`&.${N["scrollArea--right"]}`]:{top:0,right:0,width:20,bottom:0},[`&.${N["scrollArea--up"]}`]:{top:0,left:0,right:0,height:20},[`&.${N["scrollArea--down"]}`]:{bottom:0,left:0,right:0,height:20}})),Yq=Uf(kn,(e,t)=>t==="left"?e.leftPinnedWidth:t==="right"?e.rightPinnedWidth+(e.hasScrollX?e.scrollbarSize:0):0);function Qq(e){const t=qe(),[n,r]=p.useState("none");return Ee(t,"columnHeaderDragStart",()=>r("horizontal")),Ee(t,"columnHeaderDragEnd",()=>r("none")),Ee(t,"rowDragStart",()=>r("vertical")),Ee(t,"rowDragEnd",()=>r("none")),n==="none"?null:n==="horizontal"?v.jsx(Zq,x({},e)):v.jsx(Jq,x({},e))}function Zq(e){const{scrollDirection:t,scrollPosition:n}=e,r=p.useRef(null),o=qe(),s=pr(),i=he(o,au),l=he(o,cb),a=df(o,Yq,t),c=()=>{const m=kn(o.current.state);if(t==="left")return n.current.left>0;if(t==="right"){const C=l-m.viewportInnerSize.width;return n.current.left{let C;if(m.preventDefault(),t==="left")C=m.clientX-r.current.getBoundingClientRect().right;else if(t==="right")C=Math.max(1,m.clientX-r.current.getBoundingClientRect().left);else throw new Error("MUI X: Wrong drag direction");C=(C-kg)*S2+kg,s.start(0,()=>{o.current.scroll({left:n.current.left+C,top:n.current.top})})});return v.jsx(k2,x({},e,{ref:r,getCanScrollMore:c,style:h,handleDragOver:g}))}function Jq(e){const{scrollDirection:t,scrollPosition:n}=e,r=p.useRef(null),o=qe(),s=pr(),i=he(o,gu),l=()=>{const f=kn(o.current.state);if(t==="up")return n.current.top>0;if(t==="down"){const g=(i.currentPageTotalHeight||0)-f.viewportInnerSize.height-f.scrollbarSize;return n.current.top{let h;if(f.preventDefault(),t==="up")h=f.clientY-r.current.getBoundingClientRect().bottom;else if(t==="down")h=Math.max(1,f.clientY-r.current.getBoundingClientRect().top);else throw new Error("MUI X: Wrong drag direction");h=(h-kg)*S2+kg,s.start(0,()=>{o.current.scroll({left:n.current.left,top:n.current.top+h})})});return v.jsx(k2,x({},e,{ref:r,getCanScrollMore:l,style:u,handleDragOver:d}))}const k2=at(function(t,n){const{scrollDirection:r,getCanScrollMore:o,style:s,handleDragOver:i}=t,l=qe(),[a,c]=p.useState(o),u=Te(),d=x({},u,{scrollDirection:r}),f=qq(d);return Ee(l,"scrollPositionChange",()=>{c(o)}),a?v.jsx(Xq,{ref:n,className:f.root,ownerState:d,onDragOver:i,style:s}):null}),$h=Ks(Qq);var QC={},P2={exports:{}},M2={exports:{}};(function(e){function t(n){"@babel/helpers - typeof";return e.exports=t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(M2);var eX=M2.exports;(function(e){var t=eX.default;function n(r,o){if(typeof WeakMap=="function")var s=new WeakMap,i=new WeakMap;return(e.exports=n=function(a,c){if(!c&&a&&a.__esModule)return a;var u,d,f={__proto__:null,default:a};if(a===null||t(a)!="object"&&typeof a!="function")return f;if(u=c?i:s){if(u.has(a))return u.get(a);u.set(a,f)}for(var h in a)h!=="default"&&{}.hasOwnProperty.call(a,h)&&((d=(u=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,h))&&(d.get||d.set)?u(f,h,d):f[h]=a[h]);return f},e.exports.__esModule=!0,e.exports.default=e.exports)(r,o)}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports})(P2);var tX=P2.exports,nX=tX.default;Object.defineProperty(QC,"__esModule",{value:!0});var I2=QC.default=void 0,rX=nX(p);I2=QC.default=parseInt(rX.version,10);const E2=p.createContext(void 0);function yo(){const e=p.useContext(E2);if(e===void 0)throw new Error(["MUI X: Could not find the Data Grid private context.","It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.","This can also happen if you are bundling multiple versions of the Data Grid."].join(`
+`));return e}const Gi=(e,t)=>Yf(e),ZC=(e,t)=>he(e,Yf),oX=typeof navigator<"u"?navigator.userAgent.toLowerCase():"empty",sX=oX.includes("firefox"),vb=e=>e.virtualization;Be(vb,e=>e.enabled);const _2=Be(vb,e=>e.enabledForColumns),iX=Be(vb,e=>e.enabledForRows),Jf=Be(vb,e=>e.renderContext),lX=ft(e=>e.virtualization.renderContext.firstColumnIndex,e=>e.virtualization.renderContext.lastColumnIndex,(e,t)=>({firstColumnIndex:e,lastColumnIndex:t})),mx={firstRowIndex:0,lastRowIndex:0,firstColumnIndex:0,lastColumnIndex:0},aX=(e,t)=>{const{disableVirtualization:n,autoHeight:r}=t;return x({},e,{virtualization:{enabled:!n,enabledForColumns:!n,enabledForRows:!n&&!r,renderContext:mx}})};function cX(e,t){const n=s=>{e.current.setState(i=>x({},i,{virtualization:x({},i.virtualization,{enabled:s,enabledForColumns:s,enabledForRows:s&&!t.autoHeight})}))};Xe(e,{unstable_setVirtualization:n,unstable_setColumnVirtualization:s=>{e.current.setState(i=>x({},i,{virtualization:x({},i.virtualization,{enabledForColumns:s})}))}},"public"),p.useEffect(()=>{n(!t.disableVirtualization)},[t.disableVirtualization,t.autoHeight])}const JC=e=>e.rowSpanning,T2=Be(JC,e=>e.hiddenCells),uX=Be(JC,e=>e.spannedCells),dX=Be(JC,e=>e.hiddenCellOriginMap),jc=e=>e.listViewColumn,fX=PO(cr,Jf,Yf,qt,to,(e,t,n,r,o)=>{if(!e)return!1;const s=o[e.id];if(!s)return!1;const i=n.rowToIndexMap.get(s),l=r.slice(t.firstColumnIndex,t.lastColumnIndex).findIndex(c=>c.field===e.field);return!(i!==void 0&&l!==-1&&i>=t.firstRowIndex&&i<=t.lastRowIndex)}),R2=ft(fX,qt,Yf,to,cr,(e,t,n,r,o)=>{if(!e)return null;const s=r[o.id];if(!s)return null;const i=n.rowToIndexMap.get(s);if(i===void 0)return null;const l=t.findIndex(a=>a.field===o.field);return l===-1?null:x({},o,{rowIndex:i,columnIndex:l})});function Wa(e,t){return Math.round(e*10**t)/10**t}const Pg=typeof window<"u"&&/jsdom|HappyDOM/.test(window.navigator.userAgent),Sv=50;var ln=function(e){return e[e.NONE=0]="NONE",e[e.UP=1]="UP",e[e.DOWN=2]="DOWN",e[e.LEFT=3]="LEFT",e[e.RIGHT=4]="RIGHT",e}(ln||{});const FP={top:0,left:0},hX=Object.freeze(new Map),pX=(e,t,n,r,o)=>({direction:ln.NONE,buffer:$2(e,ln.NONE,t,n,r,o)}),gX=()=>{var ge;const e=yo(),t=Te(),{unstable_listView:n}=t,r=he(e,()=>n?[jc(e.current.state)]:qt(e)),o=he(e,iX)&&!Pg,s=he(e,_2)&&!Pg,i=he(e,cu),l=du(e),a=n?Cg:l,c=i.bottom.length>0,[u,d]=p.useState(hX),f=fs(),h=he(e,Wi),g=ZC(e),m=e.current.mainElementRef,C=e.current.virtualScrollerRef,b=e.current.virtualScrollbarVerticalRef,y=e.current.virtualScrollbarHorizontalRef,w=he(e,nK),S=p.useRef(!1),k=he(e,AC),P=he(e,g7),M=he(e,cb),I=he(e,mX),E=he(e,FO),T=he(e,$O),D=p.useRef(null),$=p.useCallback(q=>{if(m.current=q,!q)return;const me=q.getBoundingClientRect();let ae={width:Wa(me.width,1),height:Wa(me.height,1)};if((!D.current||ae.width!==D.current.width&&ae.height!==D.current.height)&&(D.current=ae,e.current.publishEvent("resize",ae)),typeof ResizeObserver>"u")return;const ce=new ResizeObserver(ye=>{const ne=ye[0];if(!ne)return;const Oe={width:Wa(ne.contentRect.width,1),height:Wa(ne.contentRect.height,1)};Oe.width===ae.width&&Oe.height===ae.height||(e.current.publishEvent("resize",Oe),ae=Oe)});if(ce.observe(q),I2>=19)return()=>{m.current=null,ce.disconnect()}},[e,m]),L=p.useRef(((ge=t.initialState)==null?void 0:ge.scroll)??FP),A=p.useRef(!1),R=p.useRef(FP),_=p.useRef(mx),O=he(e,Jf),F=he(e,R2),j=pr(),z=p.useRef(void 0),H=zo(()=>pX(f,t.rowBufferPx,t.columnBufferPx,k*15,Sv*6)).current,B=p.useCallback(q=>{if(jP(q,e.current.state.virtualization.renderContext))return;const me=q.firstRowIndex!==_.current.firstRowIndex||q.lastRowIndex!==_.current.lastRowIndex;e.current.setState(ce=>x({},ce,{virtualization:x({},ce.virtualization,{renderContext:q})})),kn(e.current.state).isReady&&me&&(_.current=q,e.current.publishEvent("renderedRowsIntervalChange",q)),R.current=L.current},[e]),G=Ke(()=>{const q=C.current;if(!q)return;const me=kn(e.current.state),ae=Math.ceil(me.minimumSize.height-me.viewportOuterSize.height),ce=Math.ceil(me.minimumSize.width-me.viewportInnerSize.width),ye={top:Ar(q.scrollTop,0,ae),left:f?Ar(q.scrollLeft,-ce,0):Ar(q.scrollLeft,0,ce)},ne=ye.left-L.current.left,Oe=ye.top-L.current.top,_e=ne!==0||Oe!==0;L.current=ye;const Pe=_e?yX(ne,Oe):ln.NONE,He=Math.abs(L.current.top-R.current.top),De=Math.abs(L.current.left-R.current.left),we=He>=k||De>=Sv,Ae=H.direction!==Pe;if(!(we||Ae))return O;if(Ae)switch(Pe){case ln.NONE:case ln.LEFT:case ln.RIGHT:z.current=void 0;break;default:z.current=O;break}H.direction=Pe,H.buffer=$2(f,Pe,t.rowBufferPx,t.columnBufferPx,k*15,Sv*6);const be=LP(e,t,o,s),ue=DP(be,L.current,H);return jP(ue,O)||(cm.flushSync(()=>{B(ue)}),j.start(1e3,G)),ue}),V=()=>{if(!kn(e.current.state).isReady&&(o||s))return;const q=LP(e,t,o,s),me=DP(q,L.current,H);z.current=void 0,B(me)},Z=Ke(()=>{if(A.current){A.current=!1;return}const q=G();e.current.publishEvent("scrollPositionChange",{top:L.current.top,left:L.current.left,renderContext:q})}),Q=Ke(q=>{e.current.publishEvent("virtualScrollerWheel",{},q)}),U=Ke(q=>{e.current.publishEvent("virtualScrollerTouchMove",{},q)}),K=(q={})=>{var be;if(!q.rows&&!g.range)return[];const me=mn(e);let ae=O;q.renderContext&&(ae=q.renderContext,ae.firstColumnIndex=O.firstColumnIndex,ae.lastColumnIndex=O.lastColumnIndex);const ce=!c&&q.position===void 0||c&&q.position==="bottom",ye=q.position!==void 0;let ne;switch(q.position){case"top":ne=0;break;case"bottom":ne=i.top.length+g.rows.length;break;case void 0:ne=i.top.length;break}const Oe=q.rows??g.rows,_e=ae.firstRowIndex,Pe=Math.min(ae.lastRowIndex,Oe.length),He=q.rows?CP(0,q.rows.length):CP(_e,Pe);let De=-1;!ye&&F&&(F.rowIndex<_e&&(He.unshift(F.rowIndex),De=F.rowIndex),F.rowIndex>Pe&&(He.push(F.rowIndex),De=F.rowIndex));const we=[],Ae=(be=t.slotProps)==null?void 0:be.row,ie=rl(e);return He.forEach(ue=>{var No,ps,Xs;const{id:Y,model:xe}=Oe[ue];if(!me[Y])return;const Re=(((No=g==null?void 0:g.range)==null?void 0:No.firstRowIndex)||0)+ne+ue;if(w){const Ys=a.left.length,Mr=r.length-a.right.length;e.current.calculateColSpan({rowId:Y,minFirstColumn:Ys,maxLastColumn:Mr,columns:r}),a.left.length>0&&e.current.calculateColSpan({rowId:Y,minFirstColumn:0,maxLastColumn:a.left.length,columns:r}),a.right.length>0&&e.current.calculateColSpan({rowId:Y,minFirstColumn:r.length-a.right.length,maxLastColumn:r.length,columns:r})}const Ze=e.current.rowHasAutoHeight(Y)?"auto":e.current.unstable_getRowHeight(Y);let Me;h[Y]==null?Me=!1:Me=e.current.isRowSelectable(Y);let Se=!1;q.position===void 0&&(Se=ue===0);let pe=!1;const ke=ue===Oe.length-1;if(ce)if(ye)pe=ke;else{const Ys=g.rows.length-1;ue===Ys&&(pe=!0)}let Ge=ae;z.current&&ue>=z.current.firstRowIndex&&ue({overflowX:!I||n?"hidden":void 0,overflowY:t.autoHeight?"hidden":void 0}),[I,t.autoHeight,n]),de=p.useMemo(()=>{const q={width:I?M:"auto",flexBasis:P,flexShrink:0};return q.flexBasis===0&&(q.flexBasis=ZO),q},[M,P,I]),se=p.useCallback(q=>{q&&e.current.publishEvent("virtualScrollerContentSizeChange",{columnsTotalWidth:M,contentHeight:P})},[e,M,P]);return Et(()=>{var q,me;S.current&&((me=(q=e.current).updateRenderContext)==null||me.call(q))},[e,s,o]),Et(()=>{n&&(C.current.scrollLeft=0)},[n,C]),eq(O!==mx,()=>{var q;if(e.current.publishEvent("scrollPositionChange",{top:L.current.top,left:L.current.left,renderContext:O}),S.current=!0,(q=t.initialState)!=null&&q.scroll&&C.current){const me=C.current,{top:ae,left:ce}=t.initialState.scroll,ye={top:!(ae>0),left:!(ce>0)};if(!ye.left&&M&&(me.scrollLeft=ce,A.current=!0,ye.left=!0),!ye.top&&P&&(me.scrollTop=ae,A.current=!0,ye.top=!0),!ye.top||!ye.left){const ne=e.current.subscribeEvent("virtualScrollerContentSizeChange",Oe=>{!ye.left&&Oe.columnsTotalWidth&&(me.scrollLeft=ce,A.current=!0,ye.left=!0),!ye.top&&Oe.contentHeight&&(me.scrollTop=ae,A.current=!0,ye.top=!0),ye.left&&ye.top&&ne()});return ne}}}),e.current.register("private",{updateRenderContext:V}),St(e,"sortedRowsSet",V),St(e,"paginationModelChange",V),St(e,"columnsChange",V),{renderContext:O,setPanels:d,getRows:K,getContainerProps:()=>({ref:$}),getScrollerProps:()=>({ref:C,onScroll:Z,onWheel:Q,onTouchMove:U,style:ee,role:"presentation",tabIndex:sX?-1:void 0}),getContentProps:()=>({style:de,role:"presentation",ref:se}),getRenderZoneProps:()=>({role:"rowgroup"}),getScrollbarVerticalProps:()=>({ref:b,scrollPosition:L}),getScrollbarHorizontalProps:()=>({ref:y,scrollPosition:L}),getScrollAreaProps:()=>({scrollPosition:L})}};function mX(e){return e.dimensions.viewportOuterSize.width>0&&e.dimensions.columnsTotalWidth>e.dimensions.viewportOuterSize.width}function LP(e,t,n,r){const o=kn(e.current.state),s=Gi(e),i=t.unstable_listView?[jc(e.current.state)]:qt(e),l=dX(e),a=e.current.state.rows.dataRowIds.at(-1),c=i.at(-1);return{enabledForRows:n,enabledForColumns:r,apiRef:e,autoHeight:t.autoHeight,rowBufferPx:t.rowBufferPx,columnBufferPx:t.columnBufferPx,leftPinnedWidth:o.leftPinnedWidth,columnsTotalWidth:o.columnsTotalWidth,viewportInnerWidth:o.viewportInnerSize.width,viewportInnerHeight:o.viewportInnerSize.height,lastRowHeight:a!==void 0?e.current.unstable_getRowHeight(a):0,lastColumnWidth:(c==null?void 0:c.computedWidth)??0,rowsMeta:gu(e.current.state),columnPositions:rl(e),rows:s.rows,range:s.range,pinnedColumns:du(e),visibleColumns:i,hiddenCellsOriginMap:l,listView:t.unstable_listView??!1,virtualizeColumnsWithAutoRowHeight:t.virtualizeColumnsWithAutoRowHeight}}function DP(e,t,n){const r={firstRowIndex:0,lastRowIndex:e.rows.length,firstColumnIndex:0,lastColumnIndex:e.visibleColumns.length},{top:o,left:s}=t,i=Math.abs(s)+e.leftPinnedWidth;if(e.enabledForRows){let a=Math.min(AP(e,o,{atStart:!0,lastPosition:e.rowsMeta.positions[e.rowsMeta.positions.length-1]+e.lastRowHeight}),e.rowsMeta.positions.length-1);const c=e.hiddenCellsOriginMap[a];if(c){const d=Math.min(...Object.values(c));a=Math.min(a,d)}const u=e.autoHeight?a+e.rows.length:AP(e,o+e.viewportInnerHeight);r.firstRowIndex=a,r.lastRowIndex=u}if(e.listView)return x({},r,{lastColumnIndex:1});if(e.enabledForColumns){let a=0,c=e.columnPositions.length,u=!1;const[d,f]=bx({firstIndex:r.firstRowIndex,lastIndex:r.lastRowIndex,minFirstIndex:0,maxLastIndex:e.rows.length,bufferBefore:n.buffer.rowBefore,bufferAfter:n.buffer.rowAfter,positions:e.rowsMeta.positions,lastSize:e.lastRowHeight});if(!e.virtualizeColumnsWithAutoRowHeight)for(let h=d;h=e.range.lastRowIndex);const s=Ar(r-(((l=e.range)==null?void 0:l.firstRowIndex)||0),0,e.rowsMeta.positions.length);return o||e.rowsMeta.positions[s]>=t?Yi(t,e.rowsMeta.positions,n):vX(t,e.rowsMeta.positions,s,n)}function bX(e,t,n){const[r,o]=bx({firstIndex:t.firstRowIndex,lastIndex:t.lastRowIndex,minFirstIndex:0,maxLastIndex:e.rows.length,bufferBefore:n.buffer.rowBefore,bufferAfter:n.buffer.rowAfter,positions:e.rowsMeta.positions,lastSize:e.lastRowHeight}),[s,i]=bx({firstIndex:t.firstColumnIndex,lastIndex:t.lastColumnIndex,minFirstIndex:e.pinnedColumns.left.length,maxLastIndex:e.visibleColumns.length-e.pinnedColumns.right.length,bufferBefore:n.buffer.columnBefore,bufferAfter:n.buffer.columnAfter,positions:e.columnPositions,lastSize:e.lastColumnWidth}),l=Kq({firstColumnToRender:s,apiRef:e.apiRef,firstRowToRender:r,lastRowToRender:o,visibleRows:e.rows});return{firstRowIndex:r,lastRowIndex:o,firstColumnIndex:l,lastColumnIndex:i}}function Yi(e,t,n=void 0,r=0,o=t.length){if(t.length<=0)return-1;if(r>=o)return r;const s=r+Math.floor((o-r)/2),i=t[s];let l;if(n!=null&&n.atStart){const a=(s===t.length-1?n.lastPosition:t[s+1])-i;l=e-a=Math.abs(e)?t>0?ln.DOWN:ln.UP:e>0?ln.RIGHT:ln.LEFT}function $2(e,t,n,r,o,s){if(e)switch(t){case ln.LEFT:t=ln.RIGHT;break;case ln.RIGHT:t=ln.LEFT;break}switch(t){case ln.NONE:return{rowAfter:n,rowBefore:n,columnAfter:r,columnBefore:r};case ln.LEFT:return{rowAfter:0,rowBefore:0,columnAfter:0,columnBefore:s};case ln.RIGHT:return{rowAfter:0,rowBefore:0,columnAfter:s,columnBefore:0};case ln.UP:return{rowAfter:0,rowBefore:o,columnAfter:0,columnBefore:0};case ln.DOWN:return{rowAfter:o,rowBefore:0,columnAfter:0,columnBefore:0};default:throw new Error("unreachable")}}const xX=()=>{var d,f;const e=qe(),t=Te(),n=he(e,Kf),r=he(e,WC),o=he(e,LO),s=n===0&&o===0,i=he(e,D7),l=!i&&s,a=!i&&n>0&&r===0;let c=null,u=null;return l&&(c="noRowsOverlay"),a&&(c="noResultsOverlay"),i&&(c="loadingOverlay",u=((f=(d=t.slotProps)==null?void 0:d.loadingOverlay)==null?void 0:f[s?"noRowsVariant":"variant"])||null),{overlayType:c,loadingOverlayVariant:u}},CX=Rt("div",{name:"MuiDataGrid",slot:"OverlayWrapper",shouldForwardProp:e=>e!=="overlayType"&&e!=="loadingOverlayVariant",overridesResolver:(e,t)=>t.overlayWrapper})(({overlayType:e,loadingOverlayVariant:t})=>t!=="skeleton"?{position:"sticky",top:"var(--DataGrid-headersTotalHeight)",left:0,width:0,height:0,zIndex:e==="loadingOverlay"?5:4}:{}),wX=Rt("div",{name:"MuiDataGrid",slot:"OverlayWrapperInner",shouldForwardProp:e=>e!=="overlayType"&&e!=="loadingOverlayVariant",overridesResolver:(e,t)=>t.overlayWrapperInner})({}),SX=e=>{const{classes:t}=e;return ve({root:["overlayWrapper"],inner:["overlayWrapperInner"]},et,t)};function kX(e){const t=qe(),n=Te(),r=he(t,kn);let o=Math.max(r.viewportOuterSize.height-r.topContainerHeight-r.bottomContainerHeight-(r.hasScrollX?r.scrollbarSize:0),0);o===0&&(o=ZO);const s=SX(x({},e,{classes:n.classes}));return v.jsx(CX,x({className:le(s.root)},e,{children:v.jsx(wX,x({className:le(s.inner),style:{height:o,width:r.viewportOuterSize.width}},e))}))}function PX(e){var s,i;const{overlayType:t}=e,n=Te();if(!t)return null;const r=(s=n.slots)==null?void 0:s[t],o=(i=n.slotProps)==null?void 0:i[t];return v.jsx(kX,x({},e,{children:v.jsx(r,x({},o))}))}const xp=e=>e.columnMenu;function MX(){var C;const e=yo(),t=Te(),n=he(e,qt),r=he(e,HK),o=he(e,jK),s=he(e,a2),i=he(e,()=>qC(e)===null),l=he(e,ZK),a=he(e,QK),c=he(e,wg),u=he(e,Zf),d=he(e,xp),f=he(e,no),h=he(e,Wq),g=!(l===null&&s===null&&i),m=e.current.columnHeadersContainerRef;return v.jsx(t.slots.columnHeaders,x({ref:m,visibleColumns:n,filterColumnLookup:r,sortColumnLookup:o,columnHeaderTabIndexState:s,columnGroupHeaderTabIndexState:l,columnHeaderFocus:a,columnGroupHeaderFocus:c,headerGroupingMaxDepth:u,columnMenuState:d,columnVisibility:f,columnGroupsHeaderStructure:h,hasOtherElementInTabSequence:g},(C=t.slotProps)==null?void 0:C.columnHeaders))}const IX=Ks(MX),F2=p.createContext(void 0),ew=()=>{const e=p.useContext(F2);if(e===void 0)throw new Error(["MUI X: Could not find the Data Grid configuration context.","It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.","This can also happen if you are bundling multiple versions of the Data Grid."].join(`
+`));return e},EX=Rt("div")({position:"absolute",top:"var(--DataGrid-headersTotalHeight)",left:0,width:"calc(100% - (var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize)))"}),_X=Rt("div",{name:"MuiDataGrid",slot:"Main",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.main,n.hasPinnedRight&&t["main--hasPinnedRight"],n.loadingOverlayVariant==="skeleton"&&t["main--hasSkeletonLoadingOverlay"]]}})({flexGrow:1,position:"relative",overflow:"hidden",display:"flex",flexDirection:"column"}),TX=at((e,t)=>{var i;const{ownerState:n}=e,r=Te(),s=ew().hooks.useGridAriaAttributes();return v.jsxs(_X,x({ownerState:n,className:e.className,tabIndex:-1},s,(i=r.slotProps)==null?void 0:i.main,{ref:t,children:[v.jsx(EX,{role:"presentation","data-id":"gridPanelAnchor"}),e.children]}))}),RX=()=>ve({root:["topContainer"]},et,{}),OX=Rt("div")({position:"sticky",zIndex:40,top:0});function $X(e){const t=RX();return v.jsx(OX,x({},e,{className:le(t.root,N["container--top"]),role:"presentation"}))}const FX=()=>ve({root:["bottomContainer"]},et,{}),LX=Rt("div")({position:"sticky",zIndex:40,bottom:"calc(var(--DataGrid-hasScrollX) * var(--DataGrid-scrollbarSize))"});function DX(e){const t=FX();return v.jsx(LX,x({},e,{className:le(t.root,N["container--bottom"]),role:"presentation"}))}const AX=(e,t)=>{const{classes:n}=e;return ve({root:["virtualScrollerContent",t&&"virtualScrollerContent--overflowed"]},et,n)},jX=Rt("div",{name:"MuiDataGrid",slot:"VirtualScrollerContent",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.virtualScrollerContent,n.overflowedContent&&t["virtualScrollerContent--overflowed"]]}})({}),zX=at(function(t,n){var l;const r=Te(),o=!r.autoHeight&&((l=t.style)==null?void 0:l.minHeight)==="auto",s=AX(r,o),i={classes:r.classes,overflowedContent:o};return v.jsx(jX,x({},t,{ownerState:i,className:le(s.root,t.className),ref:n}))}),NX=Rt("div")({display:"flex",flexDirection:"row",width:"var(--DataGrid-rowWidth)",boxSizing:"border-box"}),L2=Rt("div")({position:"sticky",height:"100%",boxSizing:"border-box",borderTop:"1px solid var(--rowBorderColor)",backgroundColor:"var(--DataGrid-pinnedBackground)"}),HX=Rt(L2)({left:0,borderRight:"1px solid var(--rowBorderColor)"}),BX=Rt(L2)({right:0,borderLeft:"1px solid var(--rowBorderColor)"}),VX=Rt("div")({flexGrow:1,borderTop:"1px solid var(--rowBorderColor)"});function WX({rowsLength:e}){const t=qe(),{viewportOuterSize:n,minimumSize:r,hasScrollX:o,hasScrollY:s,scrollbarSize:i,leftPinnedWidth:l,rightPinnedWidth:a}=he(t,kn),c=o?i:0,u=n.height-r.height>0;return c===0&&!u?null:v.jsxs(NX,{className:N.filler,role:"presentation",style:{height:c,"--rowBorderColor":e===0?"transparent":"var(--DataGrid-rowBorderColor)"},children:[l>0&&v.jsx(HX,{className:N["filler--pinnedLeft"],style:{width:l}}),v.jsx(VX,{}),a>0&&v.jsx(BX,{className:N["filler--pinnedRight"],style:{width:a+(s?i:0)}})]})}const GX=Ks(WX),UX=["className"],KX=e=>{const{classes:t}=e;return ve({root:["virtualScrollerRenderZone"]},et,t)},qX=Rt("div",{name:"MuiDataGrid",slot:"VirtualScrollerRenderZone",overridesResolver:(e,t)=>t.virtualScrollerRenderZone})({position:"absolute",display:"flex",flexDirection:"column"}),XX=at(function(t,n){const{className:r}=t,o=te(t,UX),s=qe(),i=Te(),l=KX(i),a=he(s,()=>{const c=Jf(s);return gu(s.current.state).positions[c.firstRowIndex]??0});return v.jsx(qX,x({className:le(l.root,r),ownerState:i,style:{transform:`translate3d(0, ${a}px, 0)`}},o,{ref:n}))}),YX={includeHeaders:!0,includeOutliers:!1,outliersFactor:1.5,expand:!1,disableColumnVirtualization:!0},Cn=e=>e.editRows,D2=Uf(Cn,(e,{rowId:t,editMode:n})=>n===us.Row&&!!e[t]),QX=Uf(Cn,(e,{rowId:t,field:n})=>{var r;return((r=e[t])==null?void 0:r[n])??null}),zc=e=>e.preferencePanel,ZX=Uf(zc,(e,t)=>!!(e.open&&e.labelId===t));var Bs=function(e){return e.filters="filters",e.columns="columns",e}(Bs||{});const JX=(e,t)=>{const{classes:n}=e,r={root:["scrollbar",`scrollbar--${t}`],content:["scrollbarContent"]};return ve(r,et,n)},A2=Rt("div")({position:"absolute",display:"inline-block",zIndex:60,"&:hover":{zIndex:70},"--size":"calc(max(var(--DataGrid-scrollbarSize), 14px))"}),eY=Rt(A2)({width:"var(--size)",height:"calc(var(--DataGrid-hasScrollY) * (100% - var(--DataGrid-topContainerHeight) - var(--DataGrid-bottomContainerHeight) - var(--DataGrid-hasScrollX) * var(--DataGrid-scrollbarSize)))",overflowY:"auto",overflowX:"hidden",outline:0,"& > div":{width:"var(--size)"},top:"var(--DataGrid-topContainerHeight)",right:"0px"}),tY=Rt(A2)({width:"100%",height:"var(--size)",overflowY:"hidden",overflowX:"auto",outline:0,"& > div":{height:"var(--size)"},bottom:"0px"}),zP=at(function(t,n){const r=yo(),o=Te(),s=p.useRef(!1),i=p.useRef(0),l=p.useRef(null),a=p.useRef(null),c=JX(o,t.position),u=he(r,kn),d=t.position==="vertical"?"height":"width",f=t.position==="vertical"?"scrollTop":"scrollLeft",h=t.position==="vertical"?"top":"left",g=t.position==="vertical"?u.hasScrollX:u.hasScrollY,m=u.minimumSize[d]+(g?u.scrollbarSize:0),b=(t.position==="vertical"?u.viewportInnerSize.height:u.viewportOuterSize.width)*(m/u.viewportOuterSize[d]),y=Ke(()=>{const k=l.current,P=t.scrollPosition.current;if(!k||P[h]===i.current)return;if(i.current=P[h],s.current){s.current=!1;return}s.current=!0;const M=P[h]/m;k[f]=M*b}),w=Ke(()=>{const k=r.current.virtualScrollerRef.current,P=l.current;if(!P)return;if(s.current){s.current=!1;return}s.current=!0;const M=P[f]/b;k[f]=M*m});nC(()=>{const k=r.current.virtualScrollerRef.current,P=l.current,M={passive:!0};return k.addEventListener("scroll",y,M),P.addEventListener("scroll",w,M),()=>{k.removeEventListener("scroll",y,M),P.removeEventListener("scroll",w,M)}}),p.useEffect(()=>{a.current.style.setProperty(d,`${b}px`)},[b,d]);const S=t.position==="vertical"?eY:tY;return v.jsx(S,{ref:vt(n,l),className:c.root,style:t.position==="vertical"&&o.unstable_listView?{height:"100%",top:0}:void 0,tabIndex:-1,"aria-hidden":"true",onFocus:k=>{k.target.blur()},children:v.jsx("div",{ref:a,className:c.content})})}),nY=e=>{const{classes:t,hasScrollX:n,hasPinnedRight:r,loadingOverlayVariant:o}=e;return ve({root:["main",r&&"main--hasPinnedRight",o==="skeleton"&&"main--hasSkeletonLoadingOverlay"],scroller:["virtualScroller",n&&"virtualScroller--hasScrollX"]},et,t)},rY=Rt("div",{name:"MuiDataGrid",slot:"VirtualScroller",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.virtualScroller,n.hasScrollX&&t["virtualScroller--hasScrollX"]]}})({position:"relative",height:"100%",flexGrow:1,overflow:"scroll",scrollbarWidth:"none",display:"flex",flexDirection:"column","&::-webkit-scrollbar":{display:"none"},"@media print":{overflow:"hidden"},zIndex:0}),oY=e=>e.dimensions.rightPinnedWidth>0;function sY(e){const t=qe(),n=Te(),r=he(t,b7),o=he(t,m7),s=he(t,oY),i=he(t,x7),l=xX(),a={classes:n.classes,hasScrollX:o,hasPinnedRight:s,loadingOverlayVariant:l.loadingOverlayVariant},c=nY(a),u=gX(),{getContainerProps:d,getScrollerProps:f,getContentProps:h,getRenderZoneProps:g,getScrollbarVerticalProps:m,getScrollbarHorizontalProps:C,getRows:b,getScrollAreaProps:y}=u,w=b();return v.jsxs(TX,x({className:c.root},d(),{ownerState:a,children:[v.jsx($h,x({scrollDirection:"left"},y())),v.jsx($h,x({scrollDirection:"right"},y())),v.jsx($h,x({scrollDirection:"up"},y())),v.jsx($h,x({scrollDirection:"down"},y())),v.jsxs(rY,x({className:c.scroller},f(),{ownerState:a,children:[v.jsxs($X,{children:[!n.unstable_listView&&v.jsx(IX,{}),v.jsx(n.slots.pinnedRows,{position:"top",virtualScroller:u})]}),v.jsx(PX,x({},l)),v.jsx(zX,x({},h(),{children:v.jsxs(XX,x({},g(),{children:[w,v.jsx(n.slots.detailPanels,{virtualScroller:u})]}))})),i&&v.jsx(GX,{rowsLength:w.length}),v.jsx(DX,{children:v.jsx(n.slots.pinnedRows,{position:"bottom",virtualScroller:u})})]})),o&&!n.unstable_listView&&v.jsx(zP,x({position:"horizontal"},C())),r&&v.jsx(zP,x({position:"vertical"},m())),e.children]}))}function iY(){var t;const e=Te();return e.hideFooter?null:v.jsx(e.slots.footer,x({},(t=e.slotProps)==null?void 0:t.footer))}let kv;function tw(){return kv===void 0&&document.createElement("div").focus({get preventScroll(){return kv=!0,!1}}),kv}function lY({defaultSlots:e,slots:t}){const n=t;if(!n||Object.keys(n).length===0)return e;const r=x({},e);return Object.keys(n).forEach(o=>{const s=o;n[s]!==void 0&&(r[s]=n[s])}),r}function aY(e){var o;if((o=e.slotProps)!=null&&o.root)return e;const t=Object.keys(e);if(!t.some(s=>s.startsWith("aria-")||s.startsWith("data-")))return e;const n={},r=e.forwardedProps??{};for(let s=0;saY(e),[e])}const uY=e=>{const t=e.match(/^__row_group_by_columns_group_(.*)__$/);return t?t[1]:null},dY=e=>e===e2||uY(e)!==null,j2=(e,t)=>{if(e)if(t){if(e===Je.LEFT)return"right";if(e===Je.RIGHT)return"left"}else{if(e===Je.LEFT)return"left";if(e===Je.RIGHT)return"right"}};function yb(e,t,n,r){const o=j2(n,t);return!o||r===void 0||(e[o]=r),e}const fY=["column","row","rowId","rowNode","align","children","colIndex","width","className","style","colSpan","disableDragEvents","isNotVisible","pinnedOffset","pinnedPosition","showRightBorder","showLeftBorder","onClick","onDoubleClick","onMouseDown","onMouseUp","onMouseOver","onKeyDown","onKeyUp","onDragEnter","onDragOver"],hY=["changeReason","unstable_updateValueOnRender"];Je.LEFT+"",ci.LEFT,Je.RIGHT+"",ci.RIGHT,Je.NONE+"",Je.VIRTUAL+"";const pY=e=>{const{align:t,showLeftBorder:n,showRightBorder:r,pinnedPosition:o,isEditable:s,isSelected:i,isSelectionMode:l,classes:a}=e,c={root:["cell",`cell--text${oe(t)}`,i&&"selected",s&&"cell--editable",n&&"cell--withLeftBorder",r&&"cell--withRightBorder",o===Je.LEFT&&"cell--pinnedLeft",o===Je.RIGHT&&"cell--pinnedRight",l&&!s&&"cell--selectionMode"]};return ve(c,et,a)},gY=at(function(t,n){var Re,Ze,Me;const{column:r,row:o,rowId:s,rowNode:i,align:l,colIndex:a,width:c,className:u,style:d,colSpan:f,disableDragEvents:h,isNotVisible:g,pinnedOffset:m,pinnedPosition:C,showRightBorder:b,showLeftBorder:y,onClick:w,onDoubleClick:S,onMouseDown:k,onMouseUp:P,onMouseOver:M,onKeyDown:I,onKeyUp:E,onDragEnter:T,onDragOver:D}=t,$=te(t,fY),L=yo(),A=Te(),R=fs(),_=r.field,O=df(L,QX,{rowId:s,field:_}),j=ew().hooks.useCellAggregationResult(s,_),z=O?Ct.Edit:Ct.View,H=L.current.getCellParamsForRow(s,_,o,{colDef:r,cellMode:z,rowNode:i,tabIndex:he(L,()=>{const Se=qC(L);return Se&&Se.field===_&&Se.id===s?0:-1}),hasFocus:he(L,()=>{const Se=cr(L);return(Se==null?void 0:Se.id)===s&&Se.field===_})});H.api=L.current,j&&(H.value=j.value,H.formattedValue=r.valueFormatter?r.valueFormatter(H.value,o,r,L):H.value);const B=he(L,()=>L.current.unstable_applyPipeProcessors("isCellSelected",!1,{id:s,field:_})),G=he(L,T2),V=he(L,uX),{hasFocus:Z,isEditable:Q=!1,value:U}=H,K=r.type==="actions"&&((Re=r.getActions)==null?void 0:Re.call(r,L.current.getRowParams(s)).some(Se=>!Se.props.disabled)),ee=(z==="view"||!Q)&&!K?H.tabIndex:-1,{classes:de,getCellClassName:se}=A,q=[he(L,()=>L.current.unstable_applyPipeProcessors("cellClassName",[],{id:s,field:_}).filter(Boolean).join(" "))];r.cellClassName&&q.push(typeof r.cellClassName=="function"?r.cellClassName(H):r.cellClassName),r.display==="flex"&&q.push(N["cell--flex"]),se&&q.push(se(H));const me=H.formattedValue??U,ae=p.useRef(null),ce=vt(n,ae),ye=p.useRef(null),ne=A.cellSelection??!1,Oe={align:l,showLeftBorder:y,showRightBorder:b,isEditable:Q,classes:A.classes,pinnedPosition:C,isSelected:B,isSelectionMode:ne},_e=pY(Oe),Pe=p.useCallback(Se=>pe=>{const ke=L.current.getCellParams(s,_||"");L.current.publishEvent(Se,ke,pe),P&&P(pe)},[L,_,P,s]),He=p.useCallback(Se=>pe=>{const ke=L.current.getCellParams(s,_||"");L.current.publishEvent(Se,ke,pe),k&&k(pe)},[L,_,k,s]),De=p.useCallback((Se,pe)=>ke=>{if(!L.current.getRow(s))return;const Ge=L.current.getCellParams(s,_||"");L.current.publishEvent(Se,Ge,ke),pe&&pe(ke)},[L,_,s]),we=((Ze=G[s])==null?void 0:Ze[_])??!1,Ae=((Me=V[s])==null?void 0:Me[_])??1,ie=p.useMemo(()=>{if(g)return{padding:0,opacity:0,width:0,height:0,border:0};const Se=yb(x({"--width":`${c}px`},d),R,C,m),pe=C===Je.LEFT,ke=C===Je.RIGHT;return Ae>1&&(Se.height=`calc(var(--height) * ${Ae})`,Se.zIndex=10,(pe||ke)&&(Se.zIndex=40)),Se},[c,g,d,m,C,R,Ae]);if(p.useEffect(()=>{if(!Z||z===Ct.Edit)return;const Se=Ft(L.current.rootElementRef.current);if(ae.current&&!ae.current.contains(Se.activeElement)){const pe=ae.current.querySelector('[tabindex="0"]'),ke=ye.current||pe||ae.current;if(tw())ke.focus({preventScroll:!0});else{const Ge=L.current.getScrollPosition();ke.focus(),L.current.scroll(Ge)}}},[Z,z,L]),we)return v.jsx("div",{"data-colindex":a,role:"presentation",style:x({width:"var(--width)"},ie)});let be=$.onFocus,ue,Y;if(O===null&&r.renderCell&&(ue=r.renderCell(H)),O!==null&&r.renderEditCell){const Se=L.current.getRowWithUpdatedValues(s,r.field),pe=te(O,hY),ke=r.valueFormatter?r.valueFormatter(O.value,Se,r,L):H.formattedValue,Ge=x({},H,{row:Se,formattedValue:ke},pe);ue=r.renderEditCell(Ge),q.push(N["cell--editing"]),q.push(de==null?void 0:de["cell--editing"])}if(ue===void 0){const Se=me==null?void 0:me.toString();ue=Se,Y=Se}p.isValidElement(ue)&&K&&(ue=p.cloneElement(ue,{focusElementRef:ye}));const xe=h?null:{onDragEnter:De("cellDragEnter",T),onDragOver:De("cellDragOver",D)};return v.jsx("div",x({className:le(_e.root,q,u),role:"gridcell","data-field":_,"data-colindex":a,"aria-colindex":a+1,"aria-colspan":f,"aria-rowspan":Ae,style:ie,title:Y,tabIndex:ee,onClick:De("cellClick",w),onDoubleClick:De("cellDoubleClick",S),onMouseOver:De("cellMouseOver",M),onMouseDown:He("cellMouseDown"),onMouseUp:Pe("cellMouseUp"),onKeyDown:De("cellKeyDown",I),onKeyUp:De("cellKeyUp",E)},xe,$,{onFocus:be,ref:ce,children:ue}))}),mY=Ks(gY),bY=["field","type","align","width","height","empty","style","className"],NP="1.3em",vY="1.2em",HP=[40,80],yY={number:[40,60],string:[40,80],date:[40,60],dateTime:[60,80],singleSelect:[40,80]},xY=e=>{const{align:t,classes:n,empty:r}=e,o={root:["cell","cellSkeleton",`cell--text${t?oe(t):"Left"}`,r&&"cellEmpty"]};return ve(o,et,n)},CY=Z7(12345);function wY(e){const{field:t,type:n,align:r,width:o,height:s,empty:i=!1,style:l,className:a}=e,c=te(e,bY),d={classes:Te().classes,align:r,empty:i},f=xY(d),h=p.useMemo(()=>{if(n==="boolean"||n==="actions")return{variant:"circular",width:NP,height:NP};const[m,C]=n?yY[n]??HP:HP;return{variant:"text",width:`${Math.round(CY(m,C))}%`,height:vY}},[n]);return v.jsx("div",x({"data-field":t,className:le(f.root,a),style:x({height:s,maxWidth:o,minWidth:o},l)},c,{children:!i&&v.jsx(X6,x({},h))}))}const SY=Ks(wY);function kY(e){return e.vars?e.vars.palette.TableCell.border:e.palette.mode==="light"?fN(Cl(e.palette.divider,1),.88):dN(Cl(e.palette.divider,1),.68)}const PY=10,Fh=-5,Ca=1,BP={width:3,rx:1.5,x:10.5},MY="/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */",IY=e=>e.dimensions.hasScrollX&&(!e.dimensions.hasScrollY||e.dimensions.scrollbarSize===0),EY=re("div",{name:"MuiDataGrid",slot:"Root",overridesResolver:(e,t)=>[t.root,{[`&.${N.autoHeight}`]:t.autoHeight},{[`&.${N.autosizing}`]:t.autosizing},{[`&.${N["root--densityStandard"]}`]:t["root--densityStandard"]},{[`&.${N["root--densityComfortable"]}`]:t["root--densityComfortable"]},{[`&.${N["root--densityCompact"]}`]:t["root--densityCompact"]},{[`&.${N["root--disableUserSelection"]}`]:t["root--disableUserSelection"]},{[`&.${N["root--noToolbar"]}`]:t["root--noToolbar"]},{[`&.${N.withVerticalBorder}`]:t.withVerticalBorder},{[`& .${N.actionsCell}`]:t.actionsCell},{[`& .${N.booleanCell}`]:t.booleanCell},{[`& .${N.cell}`]:t.cell},{[`& .${N["cell--editable"]}`]:t["cell--editable"]},{[`& .${N["cell--editing"]}`]:t["cell--editing"]},{[`& .${N["cell--flex"]}`]:t["cell--flex"]},{[`& .${N["cell--pinnedLeft"]}`]:t["cell--pinnedLeft"]},{[`& .${N["cell--pinnedRight"]}`]:t["cell--pinnedRight"]},{[`& .${N["cell--rangeBottom"]}`]:t["cell--rangeBottom"]},{[`& .${N["cell--rangeLeft"]}`]:t["cell--rangeLeft"]},{[`& .${N["cell--rangeRight"]}`]:t["cell--rangeRight"]},{[`& .${N["cell--rangeTop"]}`]:t["cell--rangeTop"]},{[`& .${N["cell--selectionMode"]}`]:t["cell--selectionMode"]},{[`& .${N["cell--textCenter"]}`]:t["cell--textCenter"]},{[`& .${N["cell--textLeft"]}`]:t["cell--textLeft"]},{[`& .${N["cell--textRight"]}`]:t["cell--textRight"]},{[`& .${N["cell--withLeftBorder"]}`]:t["cell--withLeftBorder"]},{[`& .${N["cell--withRightBorder"]}`]:t["cell--withRightBorder"]},{[`& .${N.cellCheckbox}`]:t.cellCheckbox},{[`& .${N.cellEmpty}`]:t.cellEmpty},{[`& .${N.cellOffsetLeft}`]:t.cellOffsetLeft},{[`& .${N.cellSkeleton}`]:t.cellSkeleton},{[`& .${N.checkboxInput}`]:t.checkboxInput},{[`& .${N.columnHeader}`]:t.columnHeader},{[`& .${N["columnHeader--alignCenter"]}`]:t["columnHeader--alignCenter"]},{[`& .${N["columnHeader--alignLeft"]}`]:t["columnHeader--alignLeft"]},{[`& .${N["columnHeader--alignRight"]}`]:t["columnHeader--alignRight"]},{[`& .${N["columnHeader--dragging"]}`]:t["columnHeader--dragging"]},{[`& .${N["columnHeader--emptyGroup"]}`]:t["columnHeader--emptyGroup"]},{[`& .${N["columnHeader--filledGroup"]}`]:t["columnHeader--filledGroup"]},{[`& .${N["columnHeader--filtered"]}`]:t["columnHeader--filtered"]},{[`& .${N["columnHeader--last"]}`]:t["columnHeader--last"]},{[`& .${N["columnHeader--lastUnpinned"]}`]:t["columnHeader--lastUnpinned"]},{[`& .${N["columnHeader--moving"]}`]:t["columnHeader--moving"]},{[`& .${N["columnHeader--numeric"]}`]:t["columnHeader--numeric"]},{[`& .${N["columnHeader--pinnedLeft"]}`]:t["columnHeader--pinnedLeft"]},{[`& .${N["columnHeader--pinnedRight"]}`]:t["columnHeader--pinnedRight"]},{[`& .${N["columnHeader--siblingFocused"]}`]:t["columnHeader--siblingFocused"]},{[`& .${N["columnHeader--sortable"]}`]:t["columnHeader--sortable"]},{[`& .${N["columnHeader--sorted"]}`]:t["columnHeader--sorted"]},{[`& .${N["columnHeader--withLeftBorder"]}`]:t["columnHeader--withLeftBorder"]},{[`& .${N["columnHeader--withRightBorder"]}`]:t["columnHeader--withRightBorder"]},{[`& .${N.columnHeaderCheckbox}`]:t.columnHeaderCheckbox},{[`& .${N.columnHeaderDraggableContainer}`]:t.columnHeaderDraggableContainer},{[`& .${N.columnHeaderTitleContainer}`]:t.columnHeaderTitleContainer},{[`& .${N.columnHeaderTitleContainerContent}`]:t.columnHeaderTitleContainerContent},{[`& .${N.columnSeparator}`]:t.columnSeparator},{[`& .${N["columnSeparator--resizable"]}`]:t["columnSeparator--resizable"]},{[`& .${N["columnSeparator--resizing"]}`]:t["columnSeparator--resizing"]},{[`& .${N["columnSeparator--sideLeft"]}`]:t["columnSeparator--sideLeft"]},{[`& .${N["columnSeparator--sideRight"]}`]:t["columnSeparator--sideRight"]},{[`& .${N["container--bottom"]}`]:t["container--bottom"]},{[`& .${N["container--top"]}`]:t["container--top"]},{[`& .${N.detailPanelToggleCell}`]:t.detailPanelToggleCell},{[`& .${N["detailPanelToggleCell--expanded"]}`]:t["detailPanelToggleCell--expanded"]},{[`& .${N.editBooleanCell}`]:t.editBooleanCell},{[`& .${N.filterIcon}`]:t.filterIcon},{[`& .${N["filler--borderBottom"]}`]:t["filler--borderBottom"]},{[`& .${N["filler--pinnedLeft"]}`]:t["filler--pinnedLeft"]},{[`& .${N["filler--pinnedRight"]}`]:t["filler--pinnedRight"]},{[`& .${N.groupingCriteriaCell}`]:t.groupingCriteriaCell},{[`& .${N.groupingCriteriaCellLoadingContainer}`]:t.groupingCriteriaCellLoadingContainer},{[`& .${N.groupingCriteriaCellToggle}`]:t.groupingCriteriaCellToggle},{[`& .${N.headerFilterRow}`]:t.headerFilterRow},{[`& .${N.iconSeparator}`]:t.iconSeparator},{[`& .${N.menuIcon}`]:t.menuIcon},{[`& .${N.menuIconButton}`]:t.menuIconButton},{[`& .${N.menuList}`]:t.menuList},{[`& .${N.menuOpen}`]:t.menuOpen},{[`& .${N.overlayWrapperInner}`]:t.overlayWrapperInner},{[`& .${N.pinnedRows}`]:t.pinnedRows},{[`& .${N["pinnedRows--bottom"]}`]:t["pinnedRows--bottom"]},{[`& .${N["pinnedRows--top"]}`]:t["pinnedRows--top"]},{[`& .${N.row}`]:t.row},{[`& .${N["row--borderBottom"]}`]:t["row--borderBottom"]},{[`& .${N["row--detailPanelExpanded"]}`]:t["row--detailPanelExpanded"]},{[`& .${N["row--dragging"]}`]:t["row--dragging"]},{[`& .${N["row--dynamicHeight"]}`]:t["row--dynamicHeight"]},{[`& .${N["row--editable"]}`]:t["row--editable"]},{[`& .${N["row--editing"]}`]:t["row--editing"]},{[`& .${N["row--firstVisible"]}`]:t["row--firstVisible"]},{[`& .${N["row--lastVisible"]}`]:t["row--lastVisible"]},{[`& .${N.rowReorderCell}`]:t.rowReorderCell},{[`& .${N["rowReorderCell--draggable"]}`]:t["rowReorderCell--draggable"]},{[`& .${N.rowReorderCellContainer}`]:t.rowReorderCellContainer},{[`& .${N.rowReorderCellPlaceholder}`]:t.rowReorderCellPlaceholder},{[`& .${N.rowSkeleton}`]:t.rowSkeleton},{[`& .${N.scrollbar}`]:t.scrollbar},{[`& .${N["scrollbar--horizontal"]}`]:t["scrollbar--horizontal"]},{[`& .${N["scrollbar--vertical"]}`]:t["scrollbar--vertical"]},{[`& .${N.scrollbarFiller}`]:t.scrollbarFiller},{[`& .${N["scrollbarFiller--borderBottom"]}`]:t["scrollbarFiller--borderBottom"]},{[`& .${N["scrollbarFiller--borderTop"]}`]:t["scrollbarFiller--borderTop"]},{[`& .${N["scrollbarFiller--header"]}`]:t["scrollbarFiller--header"]},{[`& .${N["scrollbarFiller--pinnedRight"]}`]:t["scrollbarFiller--pinnedRight"]},{[`& .${N.sortIcon}`]:t.sortIcon},{[`& .${N.treeDataGroupingCell}`]:t.treeDataGroupingCell},{[`& .${N.treeDataGroupingCellLoadingContainer}`]:t.treeDataGroupingCellLoadingContainer},{[`& .${N.treeDataGroupingCellToggle}`]:t.treeDataGroupingCellToggle},{[`& .${N.withBorderColor}`]:t.withBorderColor}]})(({theme:e})=>{var I,E;const t=yo(),n=he(t,IY),r=kY(e),o=e.shape.borderRadius,s=e.vars?e.vars.palette.background.default:((I=e.mixins.MuiDataGrid)==null?void 0:I.containerBackground)??e.palette.background.default,i=((E=e.mixins.MuiDataGrid)==null?void 0:E.pinnedBackground)??s,l=e.vars?`rgba(${e.vars.palette.background.defaultChannel} / ${e.vars.palette.action.disabledOpacity})`:Cl(e.palette.background.default,e.palette.action.disabledOpacity),a=(e.vars||e).palette.action.hoverOpacity,c=(e.vars||e).palette.action.hover,u=(e.vars||e).palette.action.selectedOpacity,d=e.vars?`calc(${a} + ${u})`:a+u,f=e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${u})`:Cl(e.palette.primary.main,u),h=e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${d})`:Cl(e.palette.primary.main,d),g=e.vars?RY:_Y,m=T=>({[`& .${N["cell--pinnedLeft"]}, & .${N["cell--pinnedRight"]}`]:{backgroundColor:T,"&.Mui-selected":{backgroundColor:g(T,f,u),"&:hover":{backgroundColor:g(T,f,d)}}}}),C=g(i,c,a),b=m(C),y=g(i,f,u),w=m(y),S=g(i,h,d),k=m(S),P={backgroundColor:f,"&:hover":{backgroundColor:h,"@media (hover: none)":{backgroundColor:f}}};return x({"--unstable_DataGrid-radius":typeof o=="number"?`${o}px`:o,"--unstable_DataGrid-headWeight":e.typography.fontWeightMedium,"--unstable_DataGrid-overlayBackground":l,"--DataGrid-containerBackground":s,"--DataGrid-pinnedBackground":i,"--DataGrid-rowBorderColor":r,"--DataGrid-cellOffsetMultiplier":2,"--DataGrid-width":"0px","--DataGrid-hasScrollX":"0","--DataGrid-hasScrollY":"0","--DataGrid-scrollbarSize":"10px","--DataGrid-rowWidth":"0px","--DataGrid-columnsTotalWidth":"0px","--DataGrid-leftPinnedWidth":"0px","--DataGrid-rightPinnedWidth":"0px","--DataGrid-headerHeight":"0px","--DataGrid-headersTotalHeight":"0px","--DataGrid-topContainerHeight":"0px","--DataGrid-bottomContainerHeight":"0px",flex:1,boxSizing:"border-box",position:"relative",borderWidth:"1px",borderStyle:"solid",borderColor:r,borderRadius:"var(--unstable_DataGrid-radius)",color:(e.vars||e).palette.text.primary},e.typography.body2,{outline:"none",height:"100%",display:"flex",minWidth:0,minHeight:0,flexDirection:"column",overflow:"hidden",overflowAnchor:"none",transform:"translate(0, 0)",[`.${N.main} > *:first-child${MY}`]:{borderTopLeftRadius:"var(--unstable_DataGrid-radius)",borderTopRightRadius:"var(--unstable_DataGrid-radius)"},[`&.${N.autoHeight}`]:{height:"auto"},[`&.${N.autosizing}`]:{[`& .${N.columnHeaderTitleContainerContent} > *`]:{overflow:"visible !important"},"@media (hover: hover)":{[`& .${N.menuIcon}`]:{width:"0 !important",visibility:"hidden !important"}},[`& .${N.cell}`]:{overflow:"visible !important",whiteSpace:"nowrap",minWidth:"max-content !important",maxWidth:"max-content !important"},[`& .${N.groupingCriteriaCell}`]:{width:"unset"},[`& .${N.treeDataGroupingCell}`]:{width:"unset"}},[`& .${N.columnHeader}, & .${N.cell}`]:{WebkitTapHighlightColor:"transparent",padding:"0 10px",boxSizing:"border-box"},[`& .${N.columnHeader}:focus-within, & .${N.cell}:focus-within`]:{outline:`solid ${e.vars?`rgba(${e.vars.palette.primary.mainChannel} / 0.5)`:Cl(e.palette.primary.main,.5)} ${Ca}px`,outlineOffset:Ca*-1},[`& .${N.columnHeader}:focus, & .${N.cell}:focus`]:{outline:`solid ${e.palette.primary.main} ${Ca}px`,outlineOffset:Ca*-1},[`& .${N.columnHeader}:focus,
+ & .${N["columnHeader--withLeftBorder"]},
+ & .${N["columnHeader--withRightBorder"]},
+ & .${N["columnHeader--siblingFocused"]},
+ & .${N["virtualScroller--hasScrollX"]} .${N["columnHeader--lastUnpinned"]},
+ & .${N["virtualScroller--hasScrollX"]} .${N["columnHeader--last"]}
+ `]:{[`& .${N.columnSeparator}`]:{opacity:0},"@media (hover: none)":{[`& .${N["columnSeparator--resizable"]}`]:{opacity:1}},[`& .${N["columnSeparator--resizable"]}:hover`]:{opacity:1}},[`&.${N["root--noToolbar"]} [aria-rowindex="1"] [aria-colindex="1"]`]:{borderTopLeftRadius:"calc(var(--unstable_DataGrid-radius) - 1px)"},[`&.${N["root--noToolbar"]} [aria-rowindex="1"] .${N["columnHeader--last"]}`]:{borderTopRightRadius:n?"calc(var(--unstable_DataGrid-radius) - 1px)":void 0},[`& .${N.columnHeaderCheckbox}, & .${N.cellCheckbox}`]:{padding:0,justifyContent:"center",alignItems:"center"},[`& .${N.columnHeader}`]:{position:"relative",display:"flex",alignItems:"center"},[`& .${N["virtualScroller--hasScrollX"]} .${N["columnHeader--last"]}`]:{overflow:"hidden"},[`& .${N["columnHeader--sorted"]} .${N.iconButtonContainer}, & .${N["columnHeader--filtered"]} .${N.iconButtonContainer}`]:{visibility:"visible",width:"auto"},[`& .${N.columnHeader}:not(.${N["columnHeader--sorted"]}) .${N.sortButton}`]:{opacity:0,transition:e.transitions.create(["opacity"],{duration:e.transitions.duration.shorter})},[`& .${N.columnHeaderTitleContainer}`]:{display:"flex",alignItems:"center",gap:e.spacing(.25),minWidth:0,flex:1,whiteSpace:"nowrap",overflow:"hidden"},[`& .${N.columnHeaderTitleContainerContent}`]:{overflow:"hidden",display:"flex",alignItems:"center"},[`& .${N["columnHeader--filledGroup"]} .${N.columnHeaderTitleContainer}`]:{borderBottomWidth:"1px",borderBottomStyle:"solid",boxSizing:"border-box"},[`& .${N.sortIcon}, & .${N.filterIcon}`]:{fontSize:"inherit"},[`& .${N["columnHeader--sortable"]}`]:{cursor:"pointer"},[`& .${N["columnHeader--alignCenter"]} .${N.columnHeaderTitleContainer}`]:{justifyContent:"center"},[`& .${N["columnHeader--alignRight"]} .${N.columnHeaderDraggableContainer}, & .${N["columnHeader--alignRight"]} .${N.columnHeaderTitleContainer}`]:{flexDirection:"row-reverse"},[`& .${N["columnHeader--alignCenter"]} .${N.menuIcon}`]:{marginLeft:"auto"},[`& .${N["columnHeader--alignRight"]} .${N.menuIcon}`]:{marginRight:"auto",marginLeft:-5},[`& .${N["columnHeader--moving"]}`]:{backgroundColor:(e.vars||e).palette.action.hover},[`& .${N["columnHeader--pinnedLeft"]}, & .${N["columnHeader--pinnedRight"]}`]:{position:"sticky",zIndex:40,background:"var(--DataGrid-pinnedBackground)"},[`& .${N.columnSeparator}`]:{position:"absolute",overflow:"hidden",zIndex:30,display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",maxWidth:PY,color:r},[`& .${N.columnHeaders}`]:{width:"var(--DataGrid-rowWidth)"},"@media (hover: hover)":{[`& .${N.columnHeader}:hover`]:{[`& .${N.menuIcon}`]:{width:"auto",visibility:"visible"},[`& .${N.iconButtonContainer}`]:{visibility:"visible",width:"auto"}},[`& .${N.columnHeader}:not(.${N["columnHeader--sorted"]}):hover .${N.sortButton}`]:{opacity:.5}},"@media (hover: none)":{[`& .${N.columnHeader} .${N.menuIcon}`]:{width:"auto",visibility:"visible"},[`& .${N.columnHeader}:focus,
+ & .${N["columnHeader--siblingFocused"]}`]:{[`.${N["columnSeparator--resizable"]}`]:{color:(e.vars||e).palette.primary.main}}},[`& .${N["columnSeparator--sideLeft"]}`]:{left:Fh},[`& .${N["columnSeparator--sideRight"]}`]:{right:Fh},[`& .${N["columnHeader--withRightBorder"]} .${N["columnSeparator--sideLeft"]}`]:{left:Fh-.5},[`& .${N["columnHeader--withRightBorder"]} .${N["columnSeparator--sideRight"]}`]:{right:Fh-.5},[`& .${N["columnSeparator--resizable"]}`]:{cursor:"col-resize",touchAction:"none",[`&.${N["columnSeparator--resizing"]}`]:{color:(e.vars||e).palette.primary.main},"@media (hover: none)":{[`& .${N.iconSeparator} rect`]:BP},"@media (hover: hover)":{"&:hover":{color:(e.vars||e).palette.primary.main,[`& .${N.iconSeparator} rect`]:BP}},"& svg":{pointerEvents:"none"}},[`& .${N.iconSeparator}`]:{color:"inherit",transition:e.transitions.create(["color","width"],{duration:e.transitions.duration.shortest})},[`& .${N.menuIcon}`]:{width:0,visibility:"hidden",fontSize:20,marginRight:-5,display:"flex",alignItems:"center"},[`.${N.menuOpen}`]:{visibility:"visible",width:"auto"},[`& .${N.headerFilterRow}`]:{[`& .${N.columnHeader}`]:{boxSizing:"border-box",borderBottom:"1px solid var(--DataGrid-rowBorderColor)"}},[`& .${N["row--borderBottom"]} .${N.columnHeader},
+ & .${N["row--borderBottom"]} .${N.filler},
+ & .${N["row--borderBottom"]} .${N.scrollbarFiller}`]:{borderBottom:"1px solid var(--DataGrid-rowBorderColor)"},[`& .${N["row--borderBottom"]} .${N.cell}`]:{borderBottom:"1px solid var(--rowBorderColor)"},[`.${N.row}`]:{display:"flex",width:"var(--DataGrid-rowWidth)",breakInside:"avoid","--rowBorderColor":"var(--DataGrid-rowBorderColor)",[`&.${N["row--firstVisible"]}`]:{"--rowBorderColor":"transparent"},"&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${N.rowSkeleton}:hover`]:{backgroundColor:"transparent"},"&.Mui-selected":P},[`& .${N["container--top"]}, & .${N["container--bottom"]}`]:{"[role=row]":{background:"var(--DataGrid-containerBackground)"}},[`& .${N.cell}`]:{flex:"0 0 auto",height:"var(--height)",width:"var(--width)",lineHeight:"calc(var(--height) - 1px)",boxSizing:"border-box",borderTop:"1px solid var(--rowBorderColor)",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis","&.Mui-selected":P},[`& .${N["virtualScrollerContent--overflowed"]} .${N["row--lastVisible"]} .${N.cell}`]:{borderTopColor:"transparent"},[`& .${N["pinnedRows--top"]} :first-of-type`]:{[`& .${N.cell}, .${N.scrollbarFiller}`]:{borderTop:"none"}},[`&.${N["root--disableUserSelection"]}`]:{userSelect:"none"},[`& .${N["row--dynamicHeight"]} > .${N.cell}`]:{whiteSpace:"initial",lineHeight:"inherit"},[`& .${N.cellEmpty}`]:{flex:1,padding:0,height:"unset"},[`& .${N.cell}.${N["cell--selectionMode"]}`]:{cursor:"default"},[`& .${N.cell}.${N["cell--editing"]}`]:{padding:1,display:"flex",boxShadow:e.shadows[2],backgroundColor:(e.vars||e).palette.background.paper,"&:focus-within":{outline:`${Ca}px solid ${(e.vars||e).palette.primary.main}`,outlineOffset:Ca*-1}},[`& .${N["row--editing"]}`]:{boxShadow:e.shadows[2]},[`& .${N["row--editing"]} .${N.cell}`]:{boxShadow:e.shadows[0],backgroundColor:(e.vars||e).palette.background.paper},[`& .${N.editBooleanCell}`]:{display:"flex",height:"100%",width:"100%",alignItems:"center",justifyContent:"center"},[`& .${N.booleanCell}[data-value="true"]`]:{color:(e.vars||e).palette.text.secondary},[`& .${N.booleanCell}[data-value="false"]`]:{color:(e.vars||e).palette.text.disabled},[`& .${N.actionsCell}`]:{display:"inline-flex",alignItems:"center",gridGap:e.spacing(1)},[`& .${N.rowReorderCell}`]:{display:"inline-flex",flex:1,alignItems:"center",justifyContent:"center",opacity:(e.vars||e).palette.action.disabledOpacity},[`& .${N["rowReorderCell--draggable"]}`]:{cursor:"move",opacity:1},[`& .${N.rowReorderCellContainer}`]:{padding:0,display:"flex",alignItems:"stretch"},[`.${N.withBorderColor}`]:{borderColor:r},[`& .${N["cell--withLeftBorder"]}, & .${N["columnHeader--withLeftBorder"]}`]:{borderLeftColor:"var(--DataGrid-rowBorderColor)",borderLeftWidth:"1px",borderLeftStyle:"solid"},[`& .${N["cell--withRightBorder"]}, & .${N["columnHeader--withRightBorder"]}`]:{borderRightColor:"var(--DataGrid-rowBorderColor)",borderRightWidth:"1px",borderRightStyle:"solid"},[`& .${N["cell--flex"]}`]:{display:"flex",alignItems:"center",lineHeight:"inherit"},[`& .${N["cell--textLeft"]}`]:{textAlign:"left",justifyContent:"flex-start"},[`& .${N["cell--textRight"]}`]:{textAlign:"right",justifyContent:"flex-end"},[`& .${N["cell--textCenter"]}`]:{textAlign:"center",justifyContent:"center"},[`& .${N["cell--pinnedLeft"]}, & .${N["cell--pinnedRight"]}`]:{position:"sticky",zIndex:30,background:"var(--DataGrid-pinnedBackground)","&.Mui-selected":{backgroundColor:y}},[`& .${N.virtualScrollerContent} .${N.row}`]:{"&:hover":b,"&.Mui-selected":w,"&.Mui-selected:hover":k},[`& .${N.cellOffsetLeft}`]:{flex:"0 0 auto",display:"inline-block"},[`& .${N.cellSkeleton}`]:{flex:"0 0 auto",height:"100%",display:"inline-flex",alignItems:"center"},[`& .${N.columnHeaderDraggableContainer}`]:{display:"flex",width:"100%",height:"100%"},[`& .${N.rowReorderCellPlaceholder}`]:{display:"none"},[`& .${N["columnHeader--dragging"]}, & .${N["row--dragging"]}`]:{background:(e.vars||e).palette.background.paper,padding:"0 12px",borderRadius:"var(--unstable_DataGrid-radius)",opacity:(e.vars||e).palette.action.disabledOpacity},[`& .${N["row--dragging"]}`]:{background:(e.vars||e).palette.background.paper,padding:"0 12px",borderRadius:"var(--unstable_DataGrid-radius)",opacity:(e.vars||e).palette.action.disabledOpacity,[`& .${N.rowReorderCellPlaceholder}`]:{display:"flex"}},[`& .${N.treeDataGroupingCell}`]:{display:"flex",alignItems:"center",width:"100%"},[`& .${N.treeDataGroupingCellToggle}`]:{flex:"0 0 28px",alignSelf:"stretch",marginRight:e.spacing(2)},[`& .${N.treeDataGroupingCellLoadingContainer}, .${N.groupingCriteriaCellLoadingContainer}`]:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},[`& .${N.groupingCriteriaCell}`]:{display:"flex",alignItems:"center",width:"100%"},[`& .${N.groupingCriteriaCellToggle}`]:{flex:"0 0 28px",alignSelf:"stretch",marginRight:e.spacing(2)},[`.${N.scrollbarFiller}`]:{minWidth:"calc(var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize))",alignSelf:"stretch",[`&.${N["scrollbarFiller--borderTop"]}`]:{borderTop:"1px solid var(--DataGrid-rowBorderColor)"},[`&.${N["scrollbarFiller--borderBottom"]}`]:{borderBottom:"1px solid var(--DataGrid-rowBorderColor)"},[`&.${N["scrollbarFiller--pinnedRight"]}`]:{backgroundColor:"var(--DataGrid-pinnedBackground)",position:"sticky",right:0}},[`& .${N.filler}`]:{flex:"1 0 auto"},[`& .${N["filler--borderBottom"]}`]:{borderBottom:"1px solid var(--DataGrid-rowBorderColor)"},[`& .${N["main--hasSkeletonLoadingOverlay"]}`]:{[`& .${N.virtualScrollerContent}`]:{position:"fixed",visibility:"hidden"},[`& .${N["scrollbar--vertical"]}, & .${N.pinnedRows}, & .${N.virtualScroller} > .${N.filler}`]:{display:"none"}}})});function _Y(e,t,n,r=1){const o=(a,c)=>Math.round((a**(1/r)*(1-n)+c**(1/r)*n)**r),s=Ec(e),i=Ec(t),l=[o(s.values[0],i.values[0]),o(s.values[1],i.values[1]),o(s.values[2],i.values[2])];return zm({type:"rgb",values:l})}const TY=e=>`rgb(from ${e} r g b / 1)`;function RY(e,t,n){return`color-mix(in srgb,${e}, ${TY(t)} calc(${n} * 100%))`}const OY=()=>()=>{},$Y=()=>!1,FY=()=>!0,LY=()=>LC.useSyncExternalStore(OY,$Y,FY);function DY(){var s,i;const e=qe(),t=he(e,lo),n=Te(),r=he(e,zc),o=e.current.unstable_applyPipeProcessors("preferencePanel",null,r.openedPanelValue??Bs.filters);return v.jsx(n.slots.panel,x({as:n.slots.basePopper,open:t.length>0&&r.open,id:r.panelId,"aria-labelledby":r.labelId},(s=n.slotProps)==null?void 0:s.panel,(i=n.slotProps)==null?void 0:i.basePopper,{children:o}))}function AY(){var t;const e=Te();return v.jsxs(p.Fragment,{children:[v.jsx(DY,{}),e.slots.toolbar&&v.jsx(e.slots.toolbar,x({},(t=e.slotProps)==null?void 0:t.toolbar))]})}const jY=["className","children"],zY=(e,t)=>{const{autoHeight:n,classes:r,showCellVerticalBorder:o}=e,s={root:["root",n&&"autoHeight",`root--density${oe(t)}`,e.slots.toolbar===null&&"root--noToolbar","withBorderColor",o&&"withVerticalBorder"]};return ve(s,et,r)},NY=at(function(t,n){const r=Te(),{className:o,children:s}=t,i=te(t,jY),l=yo(),a=he(l,Ba),c=l.current.rootElementRef,u=p.useCallback(m=>{m!==null&&l.current.publishEvent("rootMount",m)},[l]),d=vt(c,n,u),f=r,h=zY(f,a);return LY()?null:v.jsxs(EY,x({className:le(h.root,o),ownerState:f},i,{ref:d,children:[v.jsx(AY,{}),v.jsx(sY,{children:s}),v.jsx(iY,{})]}))}),HY=Ks(NY),BY=["className"],VY=e=>{const{classes:t}=e;return ve({root:["footerContainer","withBorderColor"]},et,t)},WY=Rt("div",{name:"MuiDataGrid",slot:"FooterContainer",overridesResolver:(e,t)=>t.footerContainer})({display:"flex",justifyContent:"space-between",alignItems:"center",minHeight:52,borderTop:"1px solid"}),GY=at(function(t,n){const{className:r}=t,o=te(t,BY),s=Te(),i=VY(s);return v.jsx(WY,x({className:le(i.root,r),ownerState:s},o,{ref:n}))}),UY=["className"],KY=e=>{const{classes:t}=e;return ve({root:["overlay"]},et,t)},qY=Rt("div",{name:"MuiDataGrid",slot:"Overlay",overridesResolver:(e,t)=>t.overlay})({width:"100%",height:"100%",display:"flex",alignSelf:"center",alignItems:"center",justifyContent:"center",backgroundColor:"var(--unstable_DataGrid-overlayBackground)"}),nw=at(function(t,n){const{className:r}=t,o=te(t,UY),s=Te(),i=KY(s);return v.jsx(qY,x({className:le(i.root,r),ownerState:s},o,{ref:n}))}),XY=e=>{const{classes:t,open:n}=e;return ve({root:["menuIcon",n&&"menuOpen"],button:["menuIconButton"]},et,t)},YY=p.memo(e=>{var f,h;const{colDef:t,open:n,columnMenuId:r,columnMenuButtonId:o,iconButtonRef:s}=e,i=qe(),l=Te(),a=x({},e,{classes:l.classes}),c=XY(a),u=p.useCallback(g=>{g.preventDefault(),g.stopPropagation(),i.current.toggleColumnMenu(t.field)},[i,t.field]),d=t.headerName??t.field;return v.jsx("div",{className:c.root,children:v.jsx(l.slots.baseTooltip,x({title:i.current.getLocaleText("columnMenuLabel"),enterDelay:1e3},(f=l.slotProps)==null?void 0:f.baseTooltip,{children:v.jsx(l.slots.baseIconButton,x({ref:s,tabIndex:-1,className:c.button,"aria-label":i.current.getLocaleText("columnMenuAriaLabel")(d),size:"small",onClick:u,"aria-haspopup":"menu","aria-expanded":n,"aria-controls":n?r:void 0,id:o},(h=l.slotProps)==null?void 0:h.baseIconButton,{children:v.jsx(l.slots.columnMenuIcon,{fontSize:"inherit"})}))}))})});function QY({columnMenuId:e,columnMenuButtonId:t,ContentComponent:n,contentComponentProps:r,field:o,open:s,target:i,onExited:l}){const a=qe(),c=a.current.getColumn(o),u=Ke(d=>{d&&(d.stopPropagation(),i!=null&&i.contains(d.target))||a.current.hideColumnMenu()});return!i||!c?null:v.jsx(HC,{placement:`bottom-${c.align==="right"?"start":"end"}`,open:s,target:i,onClose:u,onExited:l,children:v.jsx(n,x({colDef:c,hideMenu:u,open:s,id:e,labelledby:t},r))})}function ZY(e){return e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth}function Mg(e,t){return e.closest(`.${t}`)}function qs(e){return e.replace(/["\\]/g,"\\$&")}function JY(e,t){return e.querySelector(`[role="columnheader"][data-field="${qs(t)}"]`)}function z2(e){return`.${N.row}[data-id="${qs(String(e))}"]`}function eQ(e,t){return e.querySelector(z2(t))}function tQ(e,{id:t,field:n}){const r=z2(t),o=`.${N.cell}[data-field="${qs(n)}"]`,s=`${r} ${o}`;return e.querySelector(s)}function eh(e){return e.target.nodeType===1&&!e.currentTarget.contains(e.target)}function nQ(e){return e.getAttribute("data-field")}function rQ(e,t){return e.querySelector(`[data-field="${qs(t)}"]`)}function oQ(e){return e.getAttribute("data-fields").slice(2,-2).split("-|-")}function sQ(e,t){return Array.from(e.querySelectorAll(`[data-fields*="|-${qs(t)}-|"]`)??[])}function iQ(e,t){var i;if(!Mg(e,N.root))throw new Error("MUI X: The root element is not found.");const r=e.getAttribute("aria-colindex");if(!r)return[];const o=Number(r)-1,s=[];return(i=t.virtualScrollerRef)!=null&&i.current?(B2(t).forEach(l=>{const a=l.getAttribute("data-id");if(!a)return;let c=o;const u=t.unstable_getCellColSpanInfo(a,o);u&&u.spannedByColSpan&&(c=u.leftVisibleCellIndex);const d=l.querySelector(`[data-colindex="${c}"]`);d&&s.push(d)}),s):[]}function VP(e,t){return e.rootElementRef.current.querySelector(`.${N[t]}`)}const N2=({api:e,colIndex:t,position:n,filterFn:r})=>{if(t===null)return[];const o=[];return B2(e).forEach(s=>{s.getAttribute("data-id")&&s.querySelectorAll(`.${N[n==="left"?"cell--pinnedLeft":"cell--pinnedRight"]}`).forEach(l=>{const a=mu(l);a!==null&&r(a)&&o.push(l)})}),o};function lQ(e,t,n){const r=mu(t);return N2({api:e,colIndex:r,position:n?"right":"left",filterFn:o=>n?or})}function aQ(e,t,n){const r=mu(t);return N2({api:e,colIndex:r,position:n?"left":"right",filterFn:o=>n?o>r:o{var s;if(!((s=e.columnHeadersContainerRef)!=null&&s.current))return[];if(t===null)return[];const o=[];return e.columnHeadersContainerRef.current.querySelectorAll(`.${N[n==="left"?"columnHeader--pinnedLeft":"columnHeader--pinnedRight"]}`).forEach(i=>{const l=mu(i);l!==null&&r(l,i)&&o.push(i)}),o};function cQ(e,t,n){const r=mu(t);return H2({api:e,position:n?"right":"left",colIndex:r,filterFn:o=>n?or})}function uQ(e,t,n){const r=mu(t);return H2({api:e,position:n?"left":"right",colIndex:r,filterFn:(o,s)=>s.classList.contains(N["columnHeader--last"])?!1:n?o>r:o div > [data-field="${qs(t)}"][role="columnheader"]`)}function fQ(e,t){const n=e.virtualScrollerRef.current;return Array.from(n.querySelectorAll(`:scope > div > div > div > [data-field="${qs(t)}"][role="gridcell"]`))}function B2(e){return e.virtualScrollerRef.current.querySelectorAll(`:scope > div > div > .${N.row}`)}function mu(e){const t=e.getAttribute("aria-colindex");return t?Number(t)-1:null}const hQ=["className","aria-label"],pQ=e=>{const{classes:t}=e;return ve({root:["columnHeaderTitle"]},et,t)},gQ=Rt("div",{name:"MuiDataGrid",slot:"ColumnHeaderTitle",overridesResolver:(e,t)=>t.columnHeaderTitle})({textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",fontWeight:"var(--unstable_DataGrid-headWeight)",lineHeight:"normal"}),mQ=at(function(t,n){const{className:r}=t,o=te(t,hQ),s=Te(),i=pQ(s);return v.jsx(gQ,x({className:le(i.root,r),ownerState:s},o,{ref:n}))});function bQ(e){var a;const{label:t,description:n}=e,r=Te(),o=p.useRef(null),[s,i]=p.useState(""),l=p.useCallback(()=>{if(!n&&(o!=null&&o.current)){const c=ZY(o.current);i(c?t:"")}},[n,t]);return v.jsx(r.slots.baseTooltip,x({title:n||s},(a=r.slotProps)==null?void 0:a.baseTooltip,{children:v.jsx(mQ,{onMouseOver:l,ref:o,children:t})}))}const vQ=["resizable","resizing","height","side"];var rw=function(e){return e.Left="left",e.Right="right",e}(rw||{});const yQ=e=>{const{resizable:t,resizing:n,classes:r,side:o}=e,s={root:["columnSeparator",t&&"columnSeparator--resizable",n&&"columnSeparator--resizing",o&&`columnSeparator--side${oe(o)}`],icon:["iconSeparator"]};return ve(s,et,r)};function xQ(e){const{height:t,side:n=rw.Right}=e,r=te(e,vQ),o=Te(),s=x({},e,{side:n,classes:o.classes}),i=yQ(s),l=p.useCallback(a=>{a.preventDefault(),a.stopPropagation()},[]);return v.jsx("div",x({className:i.root,style:{minHeight:t}},r,{onClick:l,children:v.jsx(o.slots.columnResizeIcon,{className:i.icon})}))}const CQ=p.memo(xQ),wQ=["classes","columnMenuOpen","colIndex","height","isResizing","sortDirection","hasFocus","tabIndex","separatorSide","isDraggable","headerComponent","description","elementId","width","columnMenuIconButton","columnMenu","columnTitleIconButtons","headerClassName","label","resizable","draggableContainerProps","columnHeaderSeparatorProps","style"],V2=at(function(t,n){const{classes:r,colIndex:o,height:s,isResizing:i,sortDirection:l,tabIndex:a,separatorSide:c,isDraggable:u,headerComponent:d,description:f,width:h,columnMenuIconButton:g=null,columnMenu:m=null,columnTitleIconButtons:C=null,headerClassName:b,label:y,resizable:w,draggableContainerProps:S,columnHeaderSeparatorProps:k,style:P}=t,M=te(t,wQ),I=Te(),E=p.useRef(null),T=vt(E,n);let D="none";return l!=null&&(D=l==="asc"?"ascending":"descending"),v.jsxs("div",x({className:le(r.root,b),style:x({},P,{height:s,width:h}),role:"columnheader",tabIndex:a,"aria-colindex":o+1,"aria-sort":D},M,{ref:T,children:[v.jsxs("div",x({className:r.draggableContainer,draggable:u,role:"presentation"},S,{children:[v.jsxs("div",{className:r.titleContainer,role:"presentation",children:[v.jsx("div",{className:r.titleContainerContent,children:d!==void 0?d:v.jsx(bQ,{label:y,description:f,columnWidth:h})}),C]}),g]})),v.jsx(CQ,x({resizable:!I.disableColumnResize&&!!w,resizing:i,height:s,side:c},k)),m]}))}),SQ=e=>{const{colDef:t,classes:n,isDragging:r,sortDirection:o,showRightBorder:s,showLeftBorder:i,filterItemsCounter:l,pinnedPosition:a,isLastUnpinned:c,isSiblingFocused:u}=e,d=o!=null,f=l!=null&&l>0,h=t.type==="number",g={root:["columnHeader",t.headerAlign==="left"&&"columnHeader--alignLeft",t.headerAlign==="center"&&"columnHeader--alignCenter",t.headerAlign==="right"&&"columnHeader--alignRight",t.sortable&&"columnHeader--sortable",r&&"columnHeader--moving",d&&"columnHeader--sorted",f&&"columnHeader--filtered",h&&"columnHeader--numeric","withBorderColor",s&&"columnHeader--withRightBorder",i&&"columnHeader--withLeftBorder",a===Je.LEFT&&"columnHeader--pinnedLeft",a===Je.RIGHT&&"columnHeader--pinnedRight",c&&"columnHeader--lastUnpinned",u&&"columnHeader--siblingFocused"],draggableContainer:["columnHeaderDraggableContainer"],titleContainer:["columnHeaderTitleContainer"],titleContainerContent:["columnHeaderTitleContainerContent"]};return ve(g,et,n)};function kQ(e){var K,ee,de;const{colDef:t,columnMenuOpen:n,colIndex:r,headerHeight:o,isResizing:s,isLast:i,sortDirection:l,sortIndex:a,filterItemsCounter:c,hasFocus:u,tabIndex:d,disableReorder:f,separatorSide:h,showLeftBorder:g,showRightBorder:m,pinnedPosition:C,pinnedOffset:b}=e,y=yo(),w=Te(),S=fs(),k=p.useRef(null),P=gt(),M=gt(),I=p.useRef(null),[E,T]=p.useState(n),D=p.useMemo(()=>!w.disableColumnReorder&&!f&&!t.disableReorder,[w.disableColumnReorder,f,t.disableReorder]);let $;t.renderHeader&&($=t.renderHeader(y.current.getColumnHeaderParams(t.field)));const L=x({},e,{classes:w.classes,showRightBorder:m,showLeftBorder:g}),A=SQ(L),R=p.useCallback(se=>ge=>{eh(ge)||y.current.publishEvent(se,y.current.getColumnHeaderParams(t.field),ge)},[y,t.field]),_=p.useMemo(()=>({onClick:R("columnHeaderClick"),onContextMenu:R("columnHeaderContextMenu"),onDoubleClick:R("columnHeaderDoubleClick"),onMouseOver:R("columnHeaderOver"),onMouseOut:R("columnHeaderOut"),onMouseEnter:R("columnHeaderEnter"),onMouseLeave:R("columnHeaderLeave"),onKeyDown:R("columnHeaderKeyDown"),onFocus:R("columnHeaderFocus"),onBlur:R("columnHeaderBlur")}),[R]),O=p.useMemo(()=>D?{onDragStart:R("columnHeaderDragStart"),onDragEnter:R("columnHeaderDragEnter"),onDragOver:R("columnHeaderDragOver"),onDragEnd:R("columnHeaderDragEnd")}:{},[D,R]),F=p.useMemo(()=>({onMouseDown:R("columnSeparatorMouseDown"),onDoubleClick:R("columnSeparatorDoubleClick")}),[R]);p.useEffect(()=>{E||T(n)},[E,n]);const j=p.useCallback(()=>{T(!1)},[]),z=!w.disableColumnMenu&&!t.disableColumnMenu&&v.jsx(YY,{colDef:t,columnMenuId:P,columnMenuButtonId:M,open:E,iconButtonRef:I}),H=v.jsx(QY,{columnMenuId:P,columnMenuButtonId:M,field:t.field,open:n,target:I.current,ContentComponent:w.slots.columnMenu,contentComponentProps:(K=w.slotProps)==null?void 0:K.columnMenu,onExited:j}),B=t.sortingOrder??w.sortingOrder,G=(t.sortable||l!=null)&&!t.hideSortIcons&&!w.disableColumnSorting,V=v.jsxs(p.Fragment,{children:[!w.disableColumnFilter&&v.jsx(w.slots.columnHeaderFilterIconButton,x({field:t.field,counter:c},(ee=w.slotProps)==null?void 0:ee.columnHeaderFilterIconButton)),G&&v.jsx(w.slots.columnHeaderSortIcon,x({field:t.field,direction:l,index:a,sortingOrder:B,disabled:!t.sortable},(de=w.slotProps)==null?void 0:de.columnHeaderSortIcon))]});p.useLayoutEffect(()=>{const se=y.current.state.columnMenu;if(u&&!se.open){const q=k.current.querySelector('[tabindex="0"]')||k.current;if(!q)return;if(tw())q.focus({preventScroll:!0});else{const me=y.current.getScrollPosition();q.focus(),y.current.scroll(me)}}},[y,u]);const Z=typeof t.headerClassName=="function"?t.headerClassName({field:t.field,colDef:t}):t.headerClassName,Q=t.headerName??t.field,U=p.useMemo(()=>yb(x({},e.style),S,C,b),[C,b,e.style,S]);return v.jsx(V2,x({ref:k,classes:A,columnMenuOpen:n,colIndex:r,height:o,isResizing:s,sortDirection:l,hasFocus:u,tabIndex:d,separatorSide:h,isDraggable:D,headerComponent:$,description:t.description,elementId:t.field,width:t.computedWidth,columnMenuIconButton:z,columnTitleIconButtons:V,headerClassName:le(Z,i&&N["columnHeader--last"]),label:Q,resizable:!w.disableColumnResize&&!!t.resizable,"data-field":t.field,columnMenu:H,draggableContainerProps:O,columnHeaderSeparatorProps:F,style:U},_))}const PQ=Ks(kQ),MQ=["className"],IQ=e=>{const{classes:t}=e;return ve({root:["iconButtonContainer"]},et,t)},EQ=Rt("div",{name:"MuiDataGrid",slot:"IconButtonContainer",overridesResolver:(e,t)=>t.iconButtonContainer})(()=>({display:"flex",visibility:"hidden",width:0})),W2=at(function(t,n){const{className:r}=t,o=te(t,MQ),s=Te(),i=IQ(s);return v.jsx(EQ,x({className:le(i.root,r),ownerState:s},o,{ref:n}))}),_Q=["direction","index","sortingOrder","disabled","className"],TQ=e=>{const{classes:t}=e;return ve({root:["sortButton"],icon:["sortIcon"]},et,t)};function RQ(e,t,n,r){let o;const s={};return t==="asc"?o=e.columnSortedAscendingIcon:t==="desc"?o=e.columnSortedDescendingIcon:(o=e.columnUnsortedIcon,s.sortingOrder=r),o?v.jsx(o,x({fontSize:"small",className:n},s)):null}function OQ(e){var h;const{direction:t,index:n,sortingOrder:r,disabled:o,className:s}=e,i=te(e,_Q),l=qe(),a=Te(),c=x({},e,{classes:a.classes}),u=TQ(c),d=RQ(a.slots,t,u.icon,r);if(!d)return null;const f=v.jsx(a.slots.baseIconButton,x({tabIndex:-1,"aria-label":l.current.getLocaleText("columnHeaderSortIconLabel"),title:l.current.getLocaleText("columnHeaderSortIconLabel"),size:"small",disabled:o,className:le(u.root,s)},(h=a.slotProps)==null?void 0:h.baseIconButton,i,{children:d}));return v.jsxs(W2,{children:[n!=null&&v.jsx(a.slots.baseBadge,{badgeContent:n,color:"default",overlap:"circular",children:f}),n==null&&f]})}const $Q=p.memo(OQ),FQ=e=>{const{classes:t}=e;return ve({icon:["filterIcon"]},et,t)};function LQ(e){return e.counter?v.jsx(DQ,x({},e)):null}function DQ(e){var h,g;const{counter:t,field:n,onClick:r}=e,o=qe(),s=Te(),i=x({},e,{classes:s.classes}),l=FQ(i),a=gt(),c=df(o,ZX,a),u=gt(),d=p.useCallback(m=>{m.preventDefault(),m.stopPropagation();const{open:C,openedPanelValue:b}=zc(o.current.state);C&&b===Bs.filters?o.current.hideFilterPanel():o.current.showFilterPanel(void 0,u,a),r&&r(o.current.getColumnHeaderParams(n),m)},[o,n,r,u,a]);if(!t)return null;const f=v.jsx(s.slots.baseIconButton,x({id:a,onClick:d,color:"default","aria-label":o.current.getLocaleText("columnHeaderFiltersLabel"),size:"small",tabIndex:-1,"aria-haspopup":"menu","aria-expanded":c,"aria-controls":c?u:void 0},(h=s.slotProps)==null?void 0:h.baseIconButton,{children:v.jsx(s.slots.columnFilteredIcon,{className:l.icon,fontSize:"small"})}));return v.jsx(s.slots.baseTooltip,x({title:o.current.getLocaleText("columnHeaderFiltersTooltipActive")(t),enterDelay:1e3},(g=s.slotProps)==null?void 0:g.baseTooltip,{children:v.jsxs(W2,{children:[t>1&&v.jsx(s.slots.baseBadge,{badgeContent:t,color:"default",children:f}),t===1&&f]})}))}const WP=Qe(v.jsx("path",{d:"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"}),"ArrowUpward"),GP=Qe(v.jsx("path",{d:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}),"ArrowDownward"),UP=Qe(v.jsx("path",{d:"M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"}),"KeyboardArrowRight"),KP=Qe(v.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore"),AQ=Qe(v.jsx("path",{d:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"}),"FilterList"),qP=Qe(v.jsx("path",{d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39c.51-.66.04-1.61-.79-1.61H5.04c-.83 0-1.3.95-.79 1.61z"}),"FilterAlt"),jQ=Qe(v.jsx("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"}),"Search");Qe(v.jsx("path",{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"}),"Menu");Qe(v.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckCircle");const zQ=Qe(v.jsx("path",{d:"M6 5H3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zm14 0h-3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zm-7 0h-3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1z"}),"ColumnIcon"),NQ=Qe(v.jsx("rect",{width:"1",height:"24",x:"11.5",rx:"0.5"}),"Separator"),HQ=Qe(v.jsx("path",{d:"M4 15h16v-2H4v2zm0 4h16v-2H4v2zm0-8h16V9H4v2zm0-6v2h16V5H4z"}),"ViewHeadline"),BQ=Qe(v.jsx("path",{d:"M21,8H3V4h18V8z M21,10H3v4h18V10z M21,16H3v4h18V16z"}),"TableRows"),VQ=Qe(v.jsx("path",{d:"M4 18h17v-6H4v6zM4 5v6h17V5H4z"}),"ViewStream"),WQ=Qe(v.jsx("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"TripleDotsVertical"),Pv=Qe(v.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),XP=Qe(v.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add"),GQ=Qe(v.jsx("path",{d:"M19 13H5v-2h14v2z"}),"Remove"),UQ=Qe(v.jsx("path",{d:"M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"}),"Load"),YP=Qe(v.jsx("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"Drag"),KQ=Qe(v.jsx("path",{d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67l2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"}),"SaveAlt"),qQ=Qe(v.jsx("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check"),XQ=Qe(v.jsx("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"MoreVert"),YQ=Qe(v.jsx("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"}),"VisibilityOff"),QQ=Qe(v.jsx("g",{children:v.jsx("path",{d:"M14.67,5v14H9.33V5H14.67z M15.67,19H21V5h-5.33V19z M8.33,19V5H3v14H8.33z"})}),"ViewColumn"),ZQ=Qe(v.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear");Qe(v.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"}),"Delete");const JQ=Qe(v.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12l1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"}),"Delete");function G2(e){return e.key.length===1&&!e.ctrlKey&&!e.metaKey}const Ig=e=>e.indexOf("Arrow")===0||e.indexOf("Page")===0||e===" "||e==="Home"||e==="End",eZ=e=>!!e.key,U2=e=>e==="Tab"||e==="Escape";function K2(e){return(e.ctrlKey||e.metaKey)&&String.fromCharCode(e.keyCode)==="V"&&!e.shiftKey&&!e.altKey}function tZ(e){return(e.ctrlKey||e.metaKey)&&String.fromCharCode(e.keyCode)==="C"&&!e.shiftKey&&!e.altKey}const nZ=["hideMenu","colDef","id","labelledby","className","children","open"],rZ=re(Jm)(()=>({minWidth:248})),oZ=at(function(t,n){const{hideMenu:r,id:o,labelledby:s,className:i,children:l,open:a}=t,c=te(t,nZ),u=p.useCallback(d=>{d.key==="Tab"&&d.preventDefault(),U2(d.key)&&r(d)},[r]);return v.jsx(rZ,x({id:o,className:le(N.menuList,i),"aria-labelledby":s,onKeyDown:u,autoFocus:a},c,{ref:n,children:l}))}),sZ=["displayOrder"],iZ=e=>{const t=yo(),n=Te(),{defaultSlots:r,defaultSlotProps:o,slots:s={},slotProps:i={},hideMenu:l,colDef:a,addDividers:c=!0}=e,u=p.useMemo(()=>x({},r,s),[r,s]),d=p.useMemo(()=>{if(!i||Object.keys(i).length===0)return o;const g=x({},i);return Object.entries(o).forEach(([m,C])=>{g[m]=x({},C,i[m]||{})}),g},[o,i]),f=t.current.unstable_applyPipeProcessors("columnMenu",[],e.colDef),h=p.useMemo(()=>{const g=Object.keys(r);return Object.keys(s).filter(m=>!g.includes(m))},[s,r]);return p.useMemo(()=>{const C=Array.from(new Set([...f,...h])).filter(b=>u[b]!=null).sort((b,y)=>{const w=d[b],S=d[y],k=Number.isFinite(w==null?void 0:w.displayOrder)?w.displayOrder:100,P=Number.isFinite(S==null?void 0:S.displayOrder)?S.displayOrder:100;return k-P});return C.reduce((b,y,w)=>{let S={colDef:a,onClick:l};const k=d[y];if(k){const P=te(k,sZ);S=x({},S,P)}return c&&w!==C.length-1?[...b,[u[y],S],[n.slots.baseDivider,{}]]:[...b,[u[y],S]]},[])},[c,a,f,l,u,d,h,n.slots.baseDivider])};function lZ(e){const{colDef:t,onClick:n}=e,r=qe(),o=Te(),l=qt(r).filter(c=>c.disableColumnMenu!==!0).length===1,a=p.useCallback(c=>{l||(r.current.setColumnVisibility(t.field,!1),n(c))},[r,t.field,n,l]);return o.disableColumnSelector||t.hideable===!1?null:v.jsxs(cn,{onClick:a,disabled:l,children:[v.jsx(Bi,{children:v.jsx(o.slots.columnMenuHideIcon,{fontSize:"small"})}),v.jsx(Vi,{children:r.current.getLocaleText("columnMenuHideColumn")})]})}function aZ(e){const{onClick:t}=e,n=qe(),r=Te(),o=p.useCallback(s=>{t(s),n.current.showPreferences(Bs.columns)},[n,t]);return r.disableColumnSelector?null:v.jsxs(cn,{onClick:o,children:[v.jsx(Bi,{children:v.jsx(r.slots.columnMenuManageColumnsIcon,{fontSize:"small"})}),v.jsx(Vi,{children:n.current.getLocaleText("columnMenuManageColumns")})]})}function cZ(e){return v.jsxs(p.Fragment,{children:[v.jsx(lZ,x({},e)),v.jsx(aZ,x({},e))]})}function uZ(e){const{colDef:t,onClick:n}=e,r=qe(),o=Te(),s=p.useCallback(i=>{n(i),r.current.showFilterPanel(t.field)},[r,t.field,n]);return o.disableColumnFilter||!t.filterable?null:v.jsxs(cn,{onClick:s,children:[v.jsx(Bi,{children:v.jsx(o.slots.columnMenuFilterIcon,{fontSize:"small"})}),v.jsx(Vi,{children:r.current.getLocaleText("columnMenuFilter")})]})}function dZ(e){const{colDef:t,onClick:n}=e,r=qe(),o=he(r,So),s=Te(),i=p.useMemo(()=>{if(!t)return null;const u=o.find(d=>d.field===t.field);return u==null?void 0:u.sort},[t,o]),l=t.sortingOrder??s.sortingOrder,a=p.useCallback(u=>{n(u);const d=u.currentTarget.getAttribute("data-value")||null;r.current.sortColumn(t.field,d===i?null:d)},[r,t,n,i]);if(s.disableColumnSorting||!t||!t.sortable||!l.some(u=>!!u))return null;const c=u=>{const d=r.current.getLocaleText(u);return typeof d=="function"?d(t):d};return v.jsxs(p.Fragment,{children:[l.includes("asc")&&i!=="asc"?v.jsxs(cn,{onClick:a,"data-value":"asc",children:[v.jsx(Bi,{children:v.jsx(s.slots.columnMenuSortAscendingIcon,{fontSize:"small"})}),v.jsx(Vi,{children:c("columnMenuSortAsc")})]}):null,l.includes("desc")&&i!=="desc"?v.jsxs(cn,{onClick:a,"data-value":"desc",children:[v.jsx(Bi,{children:v.jsx(s.slots.columnMenuSortDescendingIcon,{fontSize:"small"})}),v.jsx(Vi,{children:c("columnMenuSortDesc")})]}):null,l.includes(null)&&i!=null?v.jsxs(cn,{onClick:a,children:[v.jsx(Bi,{}),v.jsx(Vi,{children:r.current.getLocaleText("columnMenuUnsort")})]}):null]})}const fZ=["defaultSlots","defaultSlotProps","slots","slotProps"],hZ={columnMenuSortItem:dZ,columnMenuFilterItem:uZ,columnMenuColumnsItem:cZ},pZ={columnMenuSortItem:{displayOrder:10},columnMenuFilterItem:{displayOrder:20},columnMenuColumnsItem:{displayOrder:30}},gZ=at(function(t,n){const{defaultSlots:r,defaultSlotProps:o,slots:s,slotProps:i}=t,l=te(t,fZ),a=iZ(x({},l,{defaultSlots:r,defaultSlotProps:o,slots:s,slotProps:i}));return v.jsx(oZ,x({},l,{ref:n,children:a.map(([c,u],d)=>v.jsx(c,x({},u),d))}))}),mZ=at(function(t,n){return v.jsx(gZ,x({},t,{ref:n,defaultSlots:hZ,defaultSlotProps:pZ}))}),bZ=["className","slotProps"],vZ=e=>{const{classes:t}=e;return ve({root:["panelWrapper"]},et,t)},yZ=re("div",{name:"MuiDataGrid",slot:"PanelWrapper",overridesResolver:(e,t)=>t.panelWrapper})({display:"flex",flexDirection:"column",flex:1,"&:focus":{outline:0}}),xZ=()=>!0,q2=at(function(t,n){const{className:r,slotProps:o={}}=t,s=te(t,bZ),i=Te(),l=vZ(i);return v.jsx(qR,x({open:!0,disableEnforceFocus:!0,isEnabled:xZ},o.TrapFocus,{children:v.jsx(yZ,x({tabIndex:-1,className:le(l.root,r),ownerState:i},s,{ref:n}))}))});function CZ(e){var n;const t=Te();return v.jsx(q2,x({},e,{children:v.jsx(t.slots.columnsManagement,x({},(n=t.slotProps)==null?void 0:n.columnsManagement))}))}const wZ=["children","className","classes"],SZ=Ne("MuiDataGrid",["panel","paper"]),kZ=re(oa,{name:"MuiDataGrid",slot:"Panel",overridesResolver:(e,t)=>t.panel})(({theme:e})=>({zIndex:e.zIndex.modal})),PZ=re(Gs,{name:"MuiDataGrid",slot:"Paper",overridesResolver:(e,t)=>t.paper})(({theme:e})=>({backgroundColor:(e.vars||e).palette.background.paper,minWidth:300,maxHeight:450,display:"flex",maxWidth:`calc(100vw - ${e.spacing(.5)})`,overflow:"auto"})),MZ=at((e,t)=>{const{children:n,className:r}=e,o=te(e,wZ),s=qe(),i=Te(),l=SZ,[a,c]=p.useState(!1),u=p.useCallback(()=>{s.current.hidePreferences()},[s]),d=p.useCallback(m=>{m.key==="Escape"&&s.current.hidePreferences()},[s]),f=p.useMemo(()=>[{name:"flip",enabled:!0,options:{rootBoundary:"document"}},{name:"isPlaced",enabled:!0,phase:"main",fn:()=>{c(!0)},effect:()=>()=>{c(!1)}}],[]),[h,g]=p.useState(null);return p.useEffect(()=>{var C,b;const m=(b=(C=s.current.rootElementRef)==null?void 0:C.current)==null?void 0:b.querySelector('[data-id="gridPanelAnchor"]');m&&g(m)},[s]),h?v.jsx(kZ,x({placement:"bottom-start",className:le(l.panel,r),ownerState:i,anchorEl:h,modifiers:f},o,{ref:t,children:v.jsx(CC,{mouseEvent:"onPointerUp",touchEvent:!1,onClickAway:u,children:v.jsx(PZ,{className:l.paper,ownerState:i,elevation:8,onKeyDown:d,children:a&&n})})})):null}),IZ=["className"],EZ=e=>{const{classes:t}=e;return ve({root:["panelContent"]},et,t)},_Z=Rt("div",{name:"MuiDataGrid",slot:"PanelContent",overridesResolver:(e,t)=>t.panelContent})({display:"flex",flexDirection:"column",overflow:"auto",flex:"1 1",maxHeight:400});function TZ(e){const{className:t}=e,n=te(e,IZ),r=Te(),o=EZ(r);return v.jsx(_Z,x({className:le(o.root,t),ownerState:r},n))}const RZ=["className"],OZ=e=>{const{classes:t}=e;return ve({root:["panelFooter"]},et,t)},$Z=Rt("div",{name:"MuiDataGrid",slot:"PanelFooter",overridesResolver:(e,t)=>t.panelFooter})(({theme:e})=>({padding:e.spacing(.5),display:"flex",justifyContent:"space-between"}));function FZ(e){const{className:t}=e,n=te(e,RZ),r=Te(),o=OZ(r);return v.jsx($Z,x({className:le(o.root,t),ownerState:r},n))}const LZ=["item","hasMultipleFilters","deleteFilter","applyFilterChanges","showMultiFilterOperators","disableMultiFilterOperator","applyMultiFilterOperatorChanges","focusElementRef","logicOperators","columnsSort","filterColumns","deleteIconProps","logicOperatorInputProps","operatorInputProps","columnInputProps","valueInputProps","readOnly","children"],DZ=["InputComponentProps"],AZ=e=>{const{classes:t}=e;return ve({root:["filterForm"],deleteIcon:["filterFormDeleteIcon"],logicOperatorInput:["filterFormLogicOperatorInput"],columnInput:["filterFormColumnInput"],operatorInput:["filterFormOperatorInput"],valueInput:["filterFormValueInput"]},et,t)},jZ=re("div",{name:"MuiDataGrid",slot:"FilterForm",overridesResolver:(e,t)=>t.filterForm})(({theme:e})=>({display:"flex",padding:e.spacing(1)})),zZ=re("div",{name:"MuiDataGrid",slot:"FilterFormDeleteIcon",overridesResolver:(e,t)=>t.filterFormDeleteIcon})(({theme:e})=>({flexShrink:0,justifyContent:"flex-end",marginRight:e.spacing(.5),marginBottom:e.spacing(.2)})),NZ=re("div",{name:"MuiDataGrid",slot:"FilterFormLogicOperatorInput",overridesResolver:(e,t)=>t.filterFormLogicOperatorInput})({minWidth:55,marginRight:5,justifyContent:"end"}),HZ=re("div",{name:"MuiDataGrid",slot:"FilterFormColumnInput",overridesResolver:(e,t)=>t.filterFormColumnInput})({width:150}),BZ=re("div",{name:"MuiDataGrid",slot:"FilterFormOperatorInput",overridesResolver:(e,t)=>t.filterFormOperatorInput})({width:150}),VZ=re("div",{name:"MuiDataGrid",slot:"FilterFormValueInput",overridesResolver:(e,t)=>t.filterFormValueInput})({width:190}),WZ=e=>{switch(e){case Jn.And:return"filterPanelOperatorAnd";case Jn.Or:return"filterPanelOperatorOr";default:throw new Error("MUI X: Invalid `logicOperator` property in the `GridFilterPanel`.")}},Hu=e=>e.headerName||e.field,QP=new Intl.Collator,ZP=at(function(t,n){var ae,ce,ye,ne,Oe,_e,Pe,He,De;const{item:r,hasMultipleFilters:o,deleteFilter:s,applyFilterChanges:i,showMultiFilterOperators:l,disableMultiFilterOperator:a,applyMultiFilterOperatorChanges:c,focusElementRef:u,logicOperators:d=[Jn.And,Jn.Or],columnsSort:f,filterColumns:h,deleteIconProps:g={},logicOperatorInputProps:m={},operatorInputProps:C={},columnInputProps:b={},valueInputProps:y={},readOnly:w}=t,S=te(t,LZ),k=qe(),P=he(k,hs),M=he(k,KO),I=he(k,_n),E=gt(),T=gt(),D=gt(),$=gt(),L=Te(),A=AZ(L),R=p.useRef(null),_=p.useRef(null),O=I.logicOperator??Jn.And,F=o&&d.length>0,j=((ae=L.slotProps)==null?void 0:ae.baseFormControl)||{},H=(((ce=L.slotProps)==null?void 0:ce.baseSelect)||{}).native??!1,B=((ye=L.slotProps)==null?void 0:ye.baseInputLabel)||{},G=((ne=L.slotProps)==null?void 0:ne.baseSelectOption)||{},{InputComponentProps:V}=y,Z=te(y,DZ),{filteredColumns:Q,selectedField:U}=p.useMemo(()=>{let we=r.field;const Ae=P[r.field].filterable===!1?P[r.field]:null;if(Ae)return{filteredColumns:[Ae],selectedField:we};if(h===void 0||typeof h!="function")return{filteredColumns:M,selectedField:we};const ie=h({field:r.field,columns:M,currentFilters:(I==null?void 0:I.items)||[]});return{filteredColumns:M.filter(be=>{const ue=ie.includes(be.field);return be.field===r.field&&!ue&&(we=void 0),ue}),selectedField:we}},[h,I==null?void 0:I.items,M,r.field,P]),K=p.useMemo(()=>{switch(f){case"asc":return Q.sort((we,Ae)=>QP.compare(Hu(we),Hu(Ae)));case"desc":return Q.sort((we,Ae)=>-QP.compare(Hu(we),Hu(Ae)));default:return Q}},[Q,f]),ee=r.field?k.current.getColumn(r.field):null,de=p.useMemo(()=>{var we;return!r.operator||!ee?null:(we=ee.filterOperators)==null?void 0:we.find(Ae=>Ae.value===r.operator)},[r,ee]),se=p.useCallback(we=>{const Ae=we.target.value,ie=k.current.getColumn(Ae);if(ie.field===ee.field)return;const be=ie.filterOperators.find(xe=>xe.value===r.operator)||ie.filterOperators[0];let Y=!be.InputComponent||be.InputComponent!==(de==null?void 0:de.InputComponent)||ie.type!==ee.type?void 0:r.value;if(ie.type==="singleSelect"&&Y!==void 0){const xe=ie,Re=Ql(xe);Array.isArray(Y)?Y=Y.filter(Ze=>Sg(Ze,Re,xe==null?void 0:xe.getOptionValue)!==void 0):Sg(r.value,Re,xe==null?void 0:xe.getOptionValue)===void 0&&(Y=void 0)}i(x({},r,{field:Ae,operator:be.value,value:Y}))},[k,i,r,ee,de]),ge=p.useCallback(we=>{const Ae=we.target.value,ie=ee==null?void 0:ee.filterOperators.find(ue=>ue.value===Ae),be=!(ie!=null&&ie.InputComponent)||(ie==null?void 0:ie.InputComponent)!==(de==null?void 0:de.InputComponent);i(x({},r,{operator:Ae,value:be?void 0:r.value}))},[i,r,ee,de]),q=p.useCallback(we=>{const Ae=we.target.value===Jn.And.toString()?Jn.And:Jn.Or;c(Ae)},[c]),me=()=>{s(r)};return p.useImperativeHandle(u,()=>({focus:()=>{var we;de!=null&&de.InputComponent?(we=R==null?void 0:R.current)==null||we.focus():_.current.focus()}}),[de]),v.jsxs(jZ,x({className:A.root,"data-id":r.id,ownerState:L},S,{ref:n,children:[v.jsx(zZ,x({variant:"standard",as:L.slots.baseFormControl},j,g,{className:le(A.deleteIcon,j.className,g.className),ownerState:L,children:v.jsx(L.slots.baseIconButton,x({"aria-label":k.current.getLocaleText("filterPanelDeleteIconLabel"),title:k.current.getLocaleText("filterPanelDeleteIconLabel"),onClick:me,size:"small",disabled:w},(Oe=L.slotProps)==null?void 0:Oe.baseIconButton,{children:v.jsx(L.slots.filterPanelDeleteIcon,{fontSize:"small"})}))})),v.jsx(NZ,x({variant:"standard",as:L.slots.baseFormControl},j,m,{sx:[F?{display:"flex"}:{display:"none"},l?{visibility:"visible"}:{visibility:"hidden"},j.sx,m.sx],className:le(A.logicOperatorInput,j.className,m.className),ownerState:L,children:v.jsx(L.slots.baseSelect,x({inputProps:{"aria-label":k.current.getLocaleText("filterPanelLogicOperator")},value:O??"",onChange:q,disabled:!!a||d.length===1,native:H},(_e=L.slotProps)==null?void 0:_e.baseSelect,{children:d.map(we=>p.createElement(L.slots.baseSelectOption,x({},G,{native:H,key:we.toString(),value:we.toString()}),k.current.getLocaleText(WZ(we))))}))})),v.jsxs(HZ,x({variant:"standard",as:L.slots.baseFormControl},j,b,{className:le(A.columnInput,j.className,b.className),ownerState:L,children:[v.jsx(L.slots.baseInputLabel,x({},B,{htmlFor:E,id:T,children:k.current.getLocaleText("filterPanelColumns")})),v.jsx(L.slots.baseSelect,x({labelId:T,id:E,label:k.current.getLocaleText("filterPanelColumns"),value:U??"",onChange:se,native:H,disabled:w},(Pe=L.slotProps)==null?void 0:Pe.baseSelect,{children:K.map(we=>p.createElement(L.slots.baseSelectOption,x({},G,{native:H,key:we.field,value:we.field}),Hu(we)))}))]})),v.jsxs(BZ,x({variant:"standard",as:L.slots.baseFormControl},j,C,{className:le(A.operatorInput,j.className,C.className),ownerState:L,children:[v.jsx(L.slots.baseInputLabel,x({},B,{htmlFor:D,id:$,children:k.current.getLocaleText("filterPanelOperator")})),v.jsx(L.slots.baseSelect,x({labelId:$,label:k.current.getLocaleText("filterPanelOperator"),id:D,value:r.operator,onChange:ge,native:H,inputRef:_,disabled:w},(He=L.slotProps)==null?void 0:He.baseSelect,{children:(De=ee==null?void 0:ee.filterOperators)==null?void 0:De.map(we=>p.createElement(L.slots.baseSelectOption,x({},G,{native:H,key:we.value,value:we.value}),we.label||k.current.getLocaleText(`filterOperator${oe(we.value)}`)))}))]})),v.jsx(VZ,x({variant:"standard",as:L.slots.baseFormControl},j,Z,{className:le(A.valueInput,j.className,Z.className),ownerState:L,children:de!=null&&de.InputComponent?v.jsx(de.InputComponent,x({apiRef:k,item:r,applyValue:i,focusElementRef:R,disabled:w},de.InputComponentProps,V),r.field):null}))]}))}),GZ=["logicOperators","columnsSort","filterFormProps","getColumnForNewFilter","children","disableAddFilterButton","disableRemoveAllButton"],JP=e=>({field:e.field,operator:e.filterOperators[0].value,id:Math.round(Math.random()*1e5)}),UZ=at(function(t,n){var $,L;const r=qe(),o=Te(),s=he(r,_n),i=he(r,KO),l=he(r,tK),a=p.useRef(null),c=p.useRef(null),{logicOperators:u=[Jn.And,Jn.Or],columnsSort:d,filterFormProps:f,getColumnForNewFilter:h,disableAddFilterButton:g=!1,disableRemoveAllButton:m=!1}=t,C=te(t,GZ),b=r.current.upsertFilterItem,y=p.useCallback(A=>{r.current.setFilterLogicOperator(A)},[r]),w=p.useCallback(()=>{let A;if(h&&typeof h=="function"){const R=h({currentFilters:(s==null?void 0:s.items)||[],columns:i});if(R===null)return null;A=i.find(({field:_})=>_===R)}else A=i.find(R=>{var _;return(_=R.filterOperators)==null?void 0:_.length});return A?JP(A):null},[s==null?void 0:s.items,i,h]),S=p.useCallback(()=>{if(h===void 0||typeof h!="function")return w();const A=s.items.length?s.items:[w()].filter(Boolean),R=h({currentFilters:A,columns:i});if(R===null)return null;const _=i.find(({field:O})=>O===R);return _?JP(_):null},[s.items,i,h,w]),k=p.useMemo(()=>s.items.length?s.items:(c.current||(c.current=w()),c.current?[c.current]:[]),[s.items,w]),P=k.length>1,{readOnlyFilters:M,validFilters:I}=p.useMemo(()=>k.reduce((A,R)=>(l[R.field]?A.validFilters.push(R):A.readOnlyFilters.push(R),A),{readOnlyFilters:[],validFilters:[]}),[k,l]),E=p.useCallback(()=>{const A=S();A&&r.current.upsertFilterItems([...k,A])},[r,S,k]),T=p.useCallback(A=>{const R=I.length===1;r.current.deleteFilterItem(A),R&&r.current.hideFilterPanel()},[r,I.length]),D=p.useCallback(()=>I.length===1&&I[0].value===void 0?(r.current.deleteFilterItem(I[0]),r.current.hideFilterPanel()):r.current.setFilterModel(x({},s,{items:M}),"removeAllFilterItems"),[r,M,s,I]);return p.useEffect(()=>{u.length>0&&s.logicOperator&&!u.includes(s.logicOperator)&&y(u[0])},[u,y,s.logicOperator]),p.useEffect(()=>{I.length>0&&a.current.focus()},[I.length]),v.jsxs(q2,x({},C,{ref:n,children:[v.jsxs(TZ,{children:[M.map((A,R)=>v.jsx(ZP,x({item:A,applyFilterChanges:b,deleteFilter:T,hasMultipleFilters:P,showMultiFilterOperators:R>0,disableMultiFilterOperator:R!==1,applyMultiFilterOperatorChanges:y,focusElementRef:null,readOnly:!0,logicOperators:u,columnsSort:d},f),A.id==null?R:A.id)),I.map((A,R)=>v.jsx(ZP,x({item:A,applyFilterChanges:b,deleteFilter:T,hasMultipleFilters:P,showMultiFilterOperators:M.length+R>0,disableMultiFilterOperator:M.length+R!==1,applyMultiFilterOperatorChanges:y,focusElementRef:R===I.length-1?a:null,logicOperators:u,columnsSort:d},f),A.id==null?R+M.length:A.id))]}),!o.disableMultipleColumnsFiltering&&!(g&&m)?v.jsxs(FZ,{children:[g?v.jsx("span",{}):v.jsx(o.slots.baseButton,x({onClick:E,startIcon:v.jsx(o.slots.filterPanelAddIcon,{})},($=o.slotProps)==null?void 0:$.baseButton,{children:r.current.getLocaleText("filterPanelAddFilter")})),!m&&I.length>0?v.jsx(o.slots.baseButton,x({onClick:D,startIcon:v.jsx(o.slots.filterPanelRemoveAllIcon,{})},(L=o.slotProps)==null?void 0:L.baseButton,{children:r.current.getLocaleText("filterPanelRemoveAll")})):null]}):null]}))}),KZ=(e,t)=>{const n=new Set(Object.keys(e).filter(s=>e[s]===!1)),r=new Set(Object.keys(t).filter(s=>t[s]===!1));if(n.size!==r.size)return!1;let o=!0;return n.forEach(s=>{r.has(s)||(o=!1)}),o},qZ=(e,t)=>(e.headerName||e.field).toLowerCase().indexOf(t)>-1,XZ=e=>{const{classes:t}=e;return ve({root:["columnsManagement"],header:["columnsManagementHeader"],searchInput:["columnsManagementSearchInput"],footer:["columnsManagementFooter"],row:["columnsManagementRow"]},et,t)},eM=new Intl.Collator;function YZ(e){var R,_,O,F;const t=qe(),n=p.useRef(null),r=he(t,lo),o=zo(()=>no(t)).current,s=he(t,no),i=Te(),[l,a]=p.useState(""),c=XZ(i),{sort:u,searchPredicate:d=qZ,autoFocusSearchField:f=!0,disableShowHideToggle:h=!1,disableResetButton:g=!1,toggleAllMode:m="all",getTogglableColumns:C,searchInputProps:b}=e,y=p.useMemo(()=>KZ(s,o),[s,o]),w=p.useMemo(()=>{switch(u){case"asc":return[...r].sort((j,z)=>eM.compare(j.headerName||j.field,z.headerName||z.field));case"desc":return[...r].sort((j,z)=>-eM.compare(j.headerName||j.field,z.headerName||z.field));default:return r}},[r,u]),S=j=>{const{name:z}=j.target;t.current.setColumnVisibility(z,s[z]===!1)},k=p.useMemo(()=>{const j=C?C(w):null,z=j?w.filter(({field:H})=>j.includes(H)):w;return l?z.filter(H=>d(H,l.toLowerCase())):z},[w,l,d,C]),P=p.useCallback(j=>{const z=no(t),H=x({},z),B=C?C(r):null;return(m==="filteredOnly"?k:r).forEach(G=>{G.hideable&&(B==null||B.includes(G.field))&&(j?delete H[G.field]:H[G.field]=!1)}),t.current.setColumnVisibilityModel(H)},[t,r,C,m,k]),M=p.useCallback(j=>{a(j.target.value)},[]),I=p.useMemo(()=>k.filter(j=>j.hideable),[k]),E=p.useMemo(()=>I.every(j=>s[j.field]==null||s[j.field]!==!1),[s,I]),T=p.useMemo(()=>I.every(j=>s[j.field]===!1),[s,I]),D=p.useRef(null);p.useEffect(()=>{f?n.current.focus():D.current&&typeof D.current.focus=="function"&&D.current.focus()},[f]);let $=!1;const L=j=>$===!1&&j.hideable!==!1?($=!0,!0):!1,A=p.useCallback(()=>{a(""),n.current.focus()},[]);return v.jsxs(p.Fragment,{children:[v.jsx(ZZ,{className:c.header,ownerState:i,children:v.jsx(JZ,x({as:i.slots.baseTextField,ownerState:i,placeholder:t.current.getLocaleText("columnsManagementSearchTitle"),inputRef:n,className:c.searchInput,value:l,onChange:M,variant:"outlined",size:"small",type:"search",InputProps:{startAdornment:v.jsx(i.slots.baseInputAdornment,{position:"start",children:v.jsx(i.slots.quickFilterIcon,{})}),endAdornment:v.jsx(i.slots.baseIconButton,x({"aria-label":t.current.getLocaleText("columnsManagementDeleteIconLabel"),size:"small",sx:[l?{visibility:"visible"}:{visibility:"hidden"}],tabIndex:-1,onClick:A},(R=i.slotProps)==null?void 0:R.baseIconButton,{children:v.jsx(i.slots.quickFilterClearIcon,{fontSize:"small"})}))},inputProps:{"aria-label":t.current.getLocaleText("columnsManagementSearchTitle")},autoComplete:"off",fullWidth:!0},(_=i.slotProps)==null?void 0:_.baseTextField,b))}),v.jsxs(QZ,{className:c.root,ownerState:i,children:[k.map(j=>{var z;return v.jsx(fg,{className:c.row,control:v.jsx(i.slots.baseCheckbox,x({disabled:j.hideable===!1,checked:s[j.field]!==!1,onClick:S,name:j.field,sx:{p:.5},inputRef:L(j)?D:void 0},(z=i.slotProps)==null?void 0:z.baseCheckbox)),label:j.headerName||j.field},j.field)}),k.length===0&&v.jsx(tJ,{ownerState:i,children:t.current.getLocaleText("columnsManagementNoColumns")})]}),(!h||!g)&&k.length>0?v.jsxs(eJ,{ownerState:i,className:c.footer,children:[h?v.jsx("span",{}):v.jsx(fg,{control:v.jsx(i.slots.baseCheckbox,x({disabled:I.length===0,checked:E,indeterminate:!E&&!T,onClick:()=>P(!E),name:t.current.getLocaleText("columnsManagementShowHideAllText"),sx:{p:.5}},(O=i.slotProps)==null?void 0:O.baseCheckbox)),label:t.current.getLocaleText("columnsManagementShowHideAllText")}),g?null:v.jsx(i.slots.baseButton,x({onClick:()=>t.current.setColumnVisibilityModel(o),disabled:y},(F=i.slotProps)==null?void 0:F.baseButton,{children:t.current.getLocaleText("columnsManagementReset")}))]}):null]})}const QZ=re("div",{name:"MuiDataGrid",slot:"ColumnsManagement",overridesResolver:(e,t)=>t.columnsManagement})(({theme:e})=>({padding:e.spacing(0,3,1.5),display:"flex",flexDirection:"column",overflow:"auto",flex:"1 1",maxHeight:400,alignItems:"flex-start"})),ZZ=re("div",{name:"MuiDataGrid",slot:"ColumnsManagementHeader",overridesResolver:(e,t)=>t.columnsManagementHeader})(({theme:e})=>({padding:e.spacing(1.5,3)})),JZ=re($o,{name:"MuiDataGrid",slot:"ColumnsManagementSearchInput",overridesResolver:(e,t)=>t.columnsManagementSearchInput})(({theme:e})=>({[`& .${Rn.root}`]:{padding:e.spacing(0,1.5,0,1.5)},[`& .${Rn.input}::-webkit-search-decoration,
+ & .${Rn.input}::-webkit-search-cancel-button,
+ & .${Rn.input}::-webkit-search-results-button,
+ & .${Rn.input}::-webkit-search-results-decoration`]:{display:"none"}})),eJ=re("div",{name:"MuiDataGrid",slot:"ColumnsManagementFooter",overridesResolver:(e,t)=>t.columnsManagementFooter})(({theme:e})=>({padding:e.spacing(.5,1,.5,3),display:"flex",justifyContent:"space-between",borderTop:`1px solid ${e.palette.divider}`})),tJ=re("div")(({theme:e})=>({padding:e.spacing(.5,0),color:e.palette.grey[500]})),nJ=e=>{const{classes:t}=e;return ve({root:["toolbarFilterList"]},et,t)},rJ=re("ul",{name:"MuiDataGrid",slot:"ToolbarFilterList",overridesResolver:(e,t)=>t.toolbarFilterList})(({theme:e})=>({margin:e.spacing(1,1,.5),padding:e.spacing(0,1)})),oJ=at(function(t,n){var y,w,S;const{slotProps:r={}}=t,o=r.button||{},s=r.tooltip||{},i=r.badge||{},l=qe(),a=Te(),c=he(l,UC),u=he(l,hs),d=he(l,zc),f=nJ(a),h=gt(),g=gt(),m=p.useMemo(()=>{if(d.open)return l.current.getLocaleText("toolbarFiltersTooltipHide");if(c.length===0)return l.current.getLocaleText("toolbarFiltersTooltipShow");const k=M=>u[M.field].filterOperators.find(I=>I.value===M.operator).label||l.current.getLocaleText(`filterOperator${oe(M.operator)}`).toString(),P=M=>{const{getValueAsString:I}=u[M.field].filterOperators.find(E=>E.value===M.operator);return I?I(M.value):M.value};return v.jsxs("div",{children:[l.current.getLocaleText("toolbarFiltersTooltipActive")(c.length),v.jsx(rJ,{className:f.root,ownerState:a,children:c.map((M,I)=>x({},u[M.field]&&v.jsx("li",{children:`${u[M.field].headerName||M.field}
+ ${k(M)}
+ ${M.value!=null?P(M):""}`},I)))})]})},[l,a,d.open,c,u,f]),C=k=>{var I;const{open:P,openedPanelValue:M}=d;P&&M===Bs.filters?l.current.hidePreferences():l.current.showPreferences(Bs.filters,g,h),(I=o.onClick)==null||I.call(o,k)};if(a.disableColumnFilter)return null;const b=d.open&&d.panelId===g;return v.jsx(a.slots.baseTooltip,x({title:m,enterDelay:1e3},(y=a.slotProps)==null?void 0:y.baseTooltip,s,{children:v.jsx(a.slots.baseButton,x({id:h,size:"small","aria-label":l.current.getLocaleText("toolbarFiltersLabel"),"aria-controls":b?g:void 0,"aria-expanded":b,"aria-haspopup":!0,startIcon:v.jsx(a.slots.baseBadge,x({badgeContent:c.length,color:"primary"},(w=a.slotProps)==null?void 0:w.baseBadge,i,{children:v.jsx(a.slots.openFilterButtonIcon,{})}))},(S=a.slotProps)==null?void 0:S.baseButton,o,{onClick:C,onPointerUp:k=>{var P;d.open&&k.stopPropagation(),(P=o.onPointerUp)==null||P.call(o,k)},ref:n,children:l.current.getLocaleText("toolbarFilters")}))}))}),sJ=at(function(t,n){var y,w;const{children:r,slotProps:o={}}=t,s=o.button||{},i=o.tooltip||{},l=qe(),a=Te(),c=gt(),u=gt(),[d,f]=p.useState(!1),h=p.useRef(null),g=vt(n,h),m=S=>{var k;f(P=>!P),(k=s.onClick)==null||k.call(s,S)},C=()=>f(!1),b=S=>{S.key==="Tab"&&S.preventDefault(),U2(S.key)&&C()};return r==null?null:v.jsxs(p.Fragment,{children:[v.jsx(a.slots.baseTooltip,x({title:l.current.getLocaleText("toolbarExportLabel"),enterDelay:1e3},(y=a.slotProps)==null?void 0:y.baseTooltip,i,{children:v.jsx(a.slots.baseButton,x({size:"small",startIcon:v.jsx(a.slots.exportIcon,{}),"aria-expanded":d,"aria-label":l.current.getLocaleText("toolbarExportLabel"),"aria-haspopup":"menu","aria-controls":d?u:void 0,id:c},(w=a.slotProps)==null?void 0:w.baseButton,s,{onClick:m,ref:g,children:l.current.getLocaleText("toolbarExport")}))})),v.jsx(HC,{open:d,target:h.current,onClose:C,position:"bottom-start",children:v.jsx(Jm,{id:u,className:N.menuList,"aria-labelledby":c,onKeyDown:b,autoFocusItem:d,children:p.Children.map(r,S=>p.isValidElement(S)?p.cloneElement(S,{hideMenu:C}):S)})})]})}),iJ=["hideMenu","options"],lJ=["hideMenu","options"],aJ=["csvOptions","printOptions","excelOptions"];function cJ(e){const t=qe(),{hideMenu:n,options:r}=e,o=te(e,iJ);return v.jsx(cn,x({onClick:()=>{t.current.exportDataAsCsv(r),n==null||n()}},o,{children:t.current.getLocaleText("toolbarExportCSV")}))}function uJ(e){const t=qe(),{hideMenu:n,options:r}=e,o=te(e,lJ);return v.jsx(cn,x({onClick:()=>{t.current.exportDataAsPrint(r),n==null||n()}},o,{children:t.current.getLocaleText("toolbarExportPrint")}))}at(function(t,n){const r=t,{csvOptions:o={},printOptions:s={},excelOptions:i}=r,l=te(r,aJ),c=qe().current.unstable_applyPipeProcessors("exportMenu",[],{excelOptions:i,csvOptions:o,printOptions:s}).sort((u,d)=>u.componentName>d.componentName?1:-1);return c.length===0?null:v.jsx(sJ,x({},l,{ref:n,children:c.map((u,d)=>p.cloneElement(u.component,{key:d}))}))});const dJ=["quickFilterParser","quickFilterFormatter","debounceMs","className"],fJ=e=>{const{classes:t}=e;return ve({root:["toolbarQuickFilter"]},et,t)},hJ=re($o,{name:"MuiDataGrid",slot:"ToolbarQuickFilter",overridesResolver:(e,t)=>t.toolbarQuickFilter})(({theme:e})=>({width:"auto",paddingBottom:e.spacing(.5),"& input":{marginLeft:e.spacing(.5)},"& .MuiInput-underline:before":{borderBottom:`1px solid ${(e.vars||e).palette.divider}`},'& input[type="search"]::-webkit-search-decoration,\n & input[type="search"]::-webkit-search-cancel-button,\n & input[type="search"]::-webkit-search-results-button,\n & input[type="search"]::-webkit-search-results-decoration':{display:"none"}})),pJ=e=>e.split(" ").filter(t=>t!==""),gJ=e=>e.join(" ");function mJ(e){var b,y;const t=qe(),n=Te(),r=fJ(n),o=he(t,r2),{quickFilterParser:s=pJ,quickFilterFormatter:i=gJ,debounceMs:l=n.filterDebounceMs,className:a}=e,c=te(e,dJ),[u,d]=p.useState(()=>i(o??[])),f=p.useRef(o);p.useEffect(()=>{is(f.current,o)||(f.current=o,d(w=>is(s(w),o)?w:i(o??[])))},[o,i,s]);const h=p.useCallback(w=>{const S=s(w);f.current=S,t.current.setQuickFilterValues(S)},[t,s]),g=p.useMemo(()=>Qc(h,l),[h,l]);p.useEffect(()=>g.clear,[g]);const m=p.useCallback(w=>{const S=w.target.value;d(S),g(S)},[g]),C=p.useCallback(()=>{d(""),h("")},[h]);return v.jsx(hJ,x({as:n.slots.baseTextField,ownerState:n,variant:"standard",value:u,onChange:m,className:le(r.root,a),placeholder:t.current.getLocaleText("toolbarQuickFilterPlaceholder"),"aria-label":t.current.getLocaleText("toolbarQuickFilterLabel"),type:"search"},c,{InputProps:x({startAdornment:v.jsx(n.slots.quickFilterIcon,{fontSize:"small"}),endAdornment:v.jsx(n.slots.baseIconButton,x({"aria-label":t.current.getLocaleText("toolbarQuickFilterDeleteIconLabel"),size:"small",sx:[u?{visibility:"visible"}:{visibility:"hidden"}],onClick:C},(b=n.slotProps)==null?void 0:b.baseIconButton,{children:v.jsx(n.slots.quickFilterClearIcon,{fontSize:"small"})}))},c.InputProps)},(y=n.slotProps)==null?void 0:y.baseTextField))}const bJ=["className","selectedRowCount"],vJ=e=>{const{classes:t}=e;return ve({root:["selectedRowCount"]},et,t)},yJ=Rt("div",{name:"MuiDataGrid",slot:"SelectedRowCount",overridesResolver:(e,t)=>t.selectedRowCount})(({theme:e})=>({alignItems:"center",display:"flex",margin:e.spacing(0,2),visibility:"hidden",width:0,height:0,[e.breakpoints.up("sm")]:{visibility:"visible",width:"auto",height:"auto"}})),xJ=at(function(t,n){const{className:r,selectedRowCount:o}=t,s=te(t,bJ),i=qe(),l=Te(),a=vJ(l),c=i.current.getLocaleText("footerRowSelected")(o);return v.jsx(yJ,x({className:le(a.root,r),ownerState:l},s,{ref:n,children:c}))}),CJ=at(function(t,n){var d,f;const r=qe(),o=Te(),s=he(r,A7),i=he(r,BK),l=he(r,GC),a=!o.hideFooterSelectedRowCount&&i>0?v.jsx(xJ,{selectedRowCount:i}):v.jsx("div",{}),c=!o.hideFooterRowCount&&!o.pagination?v.jsx(o.slots.footerRowCount,x({},(d=o.slotProps)==null?void 0:d.footerRowCount,{rowCount:s,visibleRowCount:l})):null,u=o.pagination&&!o.hideFooterPagination&&o.slots.pagination&&v.jsx(o.slots.pagination,x({},(f=o.slotProps)==null?void 0:f.pagination));return v.jsxs(GY,x({},t,{ref:n,children:[a,c,u]}))}),Md=(e,t,n,r,o,s)=>{let i;switch(e){case Je.LEFT:i=r[n];break;case Je.RIGHT:i=o-r[n]-t+s;break;default:i=void 0;break}return i},Eg=(e,t,n,r,o)=>{const s=t===n-1;return e===Je.LEFT&&s?!0:r?e===Je.LEFT?!0:e===Je.RIGHT?!s:!s||o:!1},_g=(e,t)=>e===Je.RIGHT&&t===0,Bu={root:N.scrollbarFiller,header:N["scrollbarFiller--header"],borderTop:N["scrollbarFiller--borderTop"],borderBottom:N["scrollbarFiller--borderBottom"],pinnedRight:N["scrollbarFiller--pinnedRight"]};function ow({header:e,borderTop:t=!0,borderBottom:n,pinnedRight:r}){return v.jsx("div",{role:"presentation",className:le(Bu.root,e&&Bu.header,t&&Bu.borderTop,n&&Bu.borderBottom,r&&Bu.pinnedRight)})}const wJ=Rt("div",{name:"MuiDataGrid",slot:"SkeletonLoadingOverlay",overridesResolver:(e,t)=>t.skeletonLoadingOverlay})({minWidth:"100%",width:"max-content",height:"100%",overflow:"clip"}),SJ=e=>{const{classes:t}=e;return ve({root:["skeletonLoadingOverlay"]},et,t)},tM=e=>parseInt(e.getAttribute("data-colindex"),10),kJ=at(function(t,n){const r=Te(),{slots:o}=r,s=fs(),i=SJ({classes:r.classes}),l=p.useRef(null),a=vt(l,n),c=qe(),u=he(c,kn),d=(u==null?void 0:u.viewportInnerSize.height)??0,f=Math.ceil(d/u.rowHeight),h=he(c,cb),g=he(c,rl),m=p.useMemo(()=>g.filter(P=>P<=h).length,[h,g]),C=he(c,qt),b=p.useMemo(()=>C.slice(0,m),[C,m]),y=he(c,du),w=p.useCallback(P=>{if(y.left.findIndex(M=>M.field===P)!==-1)return Je.LEFT;if(y.right.findIndex(M=>M.field===P)!==-1)return Je.RIGHT},[y.left,y.right]),S=p.useMemo(()=>{const P=[];for(let M=0;Mde.field===T.field):E-y.left.length,O=u.hasScrollY?u.scrollbarSize:0,F=yb({},s,D,Md(D,T.computedWidth,E,g,u.columnsTotalWidth,O)),j=u.columnsTotalWidth0},`skeleton-scrollbar-filler-${M}`))}P.push(v.jsx("div",{className:le(N.row,N.rowSkeleton,M===0&&N["row--firstVisible"]),children:I},`skeleton-row-${M}`))}return P},[o,b,y,f,r.showCellVerticalBorder,u,g,w,s]);return Ee(c,"columnResize",P=>{var _,O,F;const{colDef:M,width:I}=P,E=(_=l.current)==null?void 0:_.querySelectorAll(`[data-field="${qs(M.field)}"]`);if(!E)throw new Error("MUI X: Expected skeleton cells to be defined with `data-field` attribute.");const T=b.findIndex(j=>j.field===M.field),D=w(M.field),$=D===Je.LEFT,L=D===Je.RIGHT,A=getComputedStyle(E[0]).getPropertyValue("--width"),R=parseInt(A,10)-I;if(E&&E.forEach(j=>{j.style.setProperty("--width",`${I}px`)}),$){const j=(O=l.current)==null?void 0:O.querySelectorAll(`.${N["cell--pinnedLeft"]}`);j==null||j.forEach(z=>{tM(z)>T&&(z.style.left=`${parseInt(getComputedStyle(z).left,10)-R}px`)})}if(L){const j=(F=l.current)==null?void 0:F.querySelectorAll(`.${N["cell--pinnedRight"]}`);j==null||j.forEach(z=>{tM(z)({maxHeight:"calc(100% + 1px)",flexGrow:1,[`& .${jl.selectLabel}`]:{display:"none",[e.breakpoints.up("sm")]:{display:"block"}},[`& .${jl.input}`]:{display:"none",[e.breakpoints.up("sm")]:{display:"inline-flex"}}})),TJ=(e,t)=>({from:n,to:r,count:o,page:s})=>e({from:n,to:r,count:o,page:s,estimated:t}),RJ=({from:e,to:t,count:n,estimated:r})=>r?`${e}–${t} of ${n!==-1?n:`more than ${r>t?r:t}`}`:`${e}–${t} of ${n!==-1?n:`more than ${t}`}`,OJ=at(function(t,n){const r=qe(),o=Te(),s=he(r,Un),i=he(r,Va),l=he(r,g2),{paginationMode:a,loading:c,estimatedRowCount:u}=o,d=p.useMemo(()=>i===-1&&a==="server"&&c?{backIconButtonProps:{disabled:!0},nextIconButtonProps:{disabled:!0}}:{},[c,a,i]),f=p.useMemo(()=>Math.max(0,l-1),[l]),h=p.useMemo(()=>i===-1||s.page<=f?s.page:f,[f,s.page,i]),g=p.useCallback(S=>{const k=Number(S.target.value);r.current.setPageSize(k)},[r]),m=p.useCallback((S,k)=>{r.current.setPage(k)},[r]),b=(S=>{for(let k=0;k{const{classes:t}=e;return ve({root:["rowCount"]},et,t)},LJ=Rt("div",{name:"MuiDataGrid",slot:"RowCount",overridesResolver:(e,t)=>t.rowCount})(({theme:e})=>({alignItems:"center",display:"flex",margin:e.spacing(0,2)})),DJ=at(function(t,n){const{className:r,rowCount:o,visibleRowCount:s}=t,i=te(t,$J),l=qe(),a=Te(),c=FJ(a);if(o===0)return null;const u=st?!!AJ(e):!1),HJ=at(function(t,n){var ue;const{selected:r,rowId:o,row:s,index:i,style:l,rowHeight:a,className:c,visibleColumns:u,pinnedColumns:d,offsetLeft:f,columnsTotalWidth:h,firstColumnIndex:g,lastColumnIndex:m,focusedColumnIndex:C,isFirstVisible:b,isLastVisible:y,isNotVisible:w,showBottomBorder:S,scrollbarWidth:k,gridHasFiller:P,onClick:M,onDoubleClick:I,onMouseEnter:E,onMouseLeave:T,onMouseOut:D,onMouseOver:$}=t,L=te(t,zJ),A=yo(),R=ew(),_=p.useRef(null),O=Te(),F=ZC(A),j=he(A,So),z=he(A,la),H=he(A,rl),B=O.rowReordering,G=df(A,NJ,B),V=vt(_,n),Z=A.current.getRowNode(o),Q=df(A,D2,{rowId:o,editMode:O.editMode}),U=O.editMode===us.Row,K=C!==void 0,ee=K&&C>=d.left.length&&C=m,se=jJ(O.classes,{root:["row",r&&"selected",U&&"row--editable",Q&&"row--editing",b&&"row--firstVisible",y&&"row--lastVisible",S&&"row--borderBottom",a==="auto"&&"row--dynamicHeight"]}),ge=R.hooks.useGridRowAriaAttributes();p.useLayoutEffect(()=>{if(F.range){const Y=A.current.getRowIndexRelativeToVisibleRows(o);Y!==void 0&&A.current.unstable_setLastMeasuredRowIndex(Y)}if(_.current&&a==="auto")return A.current.observeRowHeight(_.current,o)},[A,F.range,a,o]);const q=p.useCallback((Y,xe)=>Re=>{eh(Re)||A.current.getRow(o)&&(A.current.publishEvent(Y,A.current.getRowParams(o),Re),xe&&xe(Re))},[A,o]),me=p.useCallback(Y=>{const xe=Mg(Y.target,N.cell),Re=xe==null?void 0:xe.getAttribute("data-field");if(Re){if(Re===pu.field||Re===fb||Re==="__reorder__"||A.current.getCellMode(o,Re)===Ct.Edit)return;const Ze=A.current.getColumn(Re);if((Ze==null?void 0:Ze.type)===ub)return}q("rowClick",M)(Y)},[A,M,q,o]),{slots:ae,slotProps:ce,disableColumnReorder:ye}=O,ne=he(A,()=>x({},A.current.getRowHeightEntry(o)),DC),Oe=p.useMemo(()=>{if(w)return{opacity:0,width:0,height:0};const Y=x({},l,{maxHeight:a==="auto"?"none":a,minHeight:a,"--height":typeof a=="number"?`${a}px`:a});if(ne.spacingTop){const xe=O.rowSpacingType==="border"?"borderTopWidth":"marginTop";Y[xe]=ne.spacingTop}if(ne.spacingBottom){const xe=O.rowSpacingType==="border"?"borderBottomWidth":"marginBottom";let Re=Y[xe];typeof Re!="number"&&(Re=parseInt(Re||"0",10)),Re+=ne.spacingBottom,Y[xe]=Re}return Y},[w,a,l,ne,O.rowSpacingType]),_e=A.current.unstable_applyPipeProcessors("rowClassName",[],o),Pe=ge(Z,i);if(typeof O.getRowClassName=="function"){const Y=i-(((ue=F.range)==null?void 0:ue.firstRowIndex)||0),xe=x({},A.current.getRowParams(o),{isFirstVisible:Y===0,isLastVisible:Y===F.rows.length-1,indexRelativeToCurrentPage:Y});_e.push(O.getRowClassName(xe))}const He=(Y,xe,Re,Ze,Me=Je.NONE)=>{const Se=A.current.unstable_getCellColSpanInfo(o,Re);if(Se!=null&&Se.spannedByColSpan)return null;const pe=(Se==null?void 0:Se.cellProps.width)??Y.computedWidth,ke=(Se==null?void 0:Se.cellProps.colSpan)??1,Ge=Md(Me,Y.computedWidth,Re,H,h,k);if(Z.type==="skeletonRow")return v.jsx(ae.skeletonCell,{type:Y.type,width:pe,height:a,field:Y.field,align:Y.align},Y.field);const Ye=Y.field==="__reorder__",rt=!(ye||Y.disableReorder),yt=G&&!j.length&&z<=1,Ot=!(rt||Ye&&yt),vn=Me===Je.VIRTUAL,Ut=_g(Me,xe),Hn=Eg(Me,xe,Ze,O.showCellVerticalBorder,P);return v.jsx(ae.cell,x({column:Y,width:pe,rowId:o,align:Y.align||"left",colIndex:Re,colSpan:ke,disableDragEvents:Ot,isNotVisible:vn,pinnedOffset:Ge,pinnedPosition:Me,showLeftBorder:Ut,showRightBorder:Hn,row:s,rowNode:Z},ce==null?void 0:ce.cell),Y.field)},De=d.left.map((Y,xe)=>He(Y,xe,xe,d.left.length,Je.LEFT)),we=d.right.map((Y,xe)=>{const Re=u.length-d.right.length+xe;return He(Y,xe,Re,d.right.length,Je.RIGHT)}),Ae=u.length-d.left.length-d.right.length,ie=[];ee&&ie.push(He(u[C],C-d.left.length,C,Ae,Je.VIRTUAL));for(let Y=g;Y0,borderTop:!b})]}))}),BJ=Ks(HJ),VJ=()=>{const e=yo(),t=Te(),n=he(e,qt),r=he(e,WC),o=he(e,Zf),s=he(e,LO);return{role:"grid","aria-colcount":n.length,"aria-rowcount":o+1+s+r,"aria-multiselectable":KC(t)}},WJ=()=>{const e=yo(),t=he(e,Wi),n=he(e,Zf);return p.useCallback((r,o)=>{const s={},i=o+n+2;return s["aria-rowindex"]=i,e.current.isRowSelectable(r.id)&&(s["aria-selected"]=t[r.id]!==void 0),s},[e,t,n])};function GJ({privateApiRef:e,configuration:t,props:n,children:r}){const o=p.useRef(e.current.getPublicApi());return v.jsx(F2.Provider,{value:t,children:v.jsx(pO.Provider,{value:n,children:v.jsx(E2.Provider,{value:e,children:v.jsx(hO.Provider,{value:o,children:r})})})})}const UJ=e=>{const t=p.useRef(null),n=p.useRef(null),r=p.useRef(null),o=p.useRef(null),s=p.useRef(null),i=p.useRef(null);e.current.register("public",{rootElementRef:t}),e.current.register("private",{mainElementRef:n,virtualScrollerRef:r,virtualScrollbarVerticalRef:o,virtualScrollbarHorizontalRef:s,columnHeadersContainerRef:i})},KJ=e=>{const t=fs();e.current.state.isRtl===void 0&&(e.current.state.isRtl=t);const n=p.useRef(!0);p.useEffect(()=>{n.current?n.current=!1:e.current.setState(r=>x({},r,{isRtl:t}))},[e,t])},qJ=Y7()&&window.localStorage.getItem("DEBUG")!=null,od=()=>{},XJ={debug:od,info:od,warn:od,error:od},nM=["debug","info","warn","error"];function rM(e,t,n=console){const r=nM.indexOf(t);if(r===-1)throw new Error(`MUI X: Log level ${t} not recognized.`);return nM.reduce((s,i,l)=>(l>=r?s[i]=(...a)=>{const[c,...u]=a;n[i](`MUI X: ${e} - ${c}`,...u)}:s[i]=od,s),{})}const YJ=(e,t)=>{const n=p.useCallback(r=>qJ?rM(r,"debug",t.logger):t.logLevel?rM(r,t.logLevel.toString(),t.logger):XJ,[t.logLevel,t.logger]);Xe(e,{getLogger:n},"private")};class QJ{constructor(){this.maxListeners=20,this.warnOnce=!1,this.events={}}on(t,n,r={}){let o=this.events[t];o||(o={highPriority:new Map,regular:new Map},this.events[t]=o),r.isFirst?o.highPriority.set(n,!0):o.regular.set(n,!0)}removeListener(t,n){this.events[t]&&(this.events[t].regular.delete(n),this.events[t].highPriority.delete(n))}removeAllListeners(){this.events={}}emit(t,...n){const r=this.events[t];if(!r)return;const o=Array.from(r.highPriority.keys()),s=Array.from(r.regular.keys());for(let i=o.length-1;i>=0;i-=1){const l=o[i];r.highPriority.has(l)&&l.apply(this,n)}for(let i=0;i(this.listeners.add(n),()=>{this.listeners.delete(n)}),this.getSnapshot=()=>this.value,this.update=n=>{this.value=n,this.listeners.forEach(r=>r(n))},this.value=t,this.listeners=new Set}}const X2=Symbol("mui.api_private"),ZJ=e=>e.isPropagationStopped!==void 0;let oM=0;function JJ(e){var o;const t=(o=e.current)==null?void 0:o[X2];if(t)return t;const n={},r={state:n,store:sw.create(n),instanceId:{id:oM}};return oM+=1,r.getPublicApi=()=>e.current,r.register=(s,i)=>{Object.keys(i).forEach(l=>{const a=i[l],c=r[l];if((c==null?void 0:c.spying)===!0?c.target=a:r[l]=a,s==="public"){const u=e.current,d=u[l];(d==null?void 0:d.spying)===!0?d.target=a:u[l]=a}})},r.register("private",{caches:{},eventManager:new QJ}),r}function eee(e){return{get state(){return e.current.state},get store(){return e.current.store},get instanceId(){return e.current.instanceId},[X2]:e.current}}function tee(e,t){var i;const n=p.useRef(null),r=p.useRef(null);r.current||(r.current=JJ(n)),n.current||(n.current=eee(r));const o=p.useCallback((...l)=>{const[a,c,u={}]=l;if(u.defaultMuiPrevented=!1,ZJ(u)&&u.isPropagationStopped())return;const d=t.signature===io.DataGridPro||t.signature===io.DataGridPremium?{api:r.current.getPublicApi()}:{};r.current.eventManager.emit(a,c,u,d)},[r,t.signature]),s=p.useCallback((l,a,c)=>{r.current.eventManager.on(l,a,c);const u=r.current;return()=>{u.eventManager.removeListener(l,a)}},[r]);return Xe(r,{subscribeEvent:s,publishEvent:o},"public"),e&&!((i=e.current)!=null&&i.state)&&(e.current=n.current),p.useImperativeHandle(e,()=>n.current,[n]),p.useEffect(()=>{const l=r.current;return()=>{l.publishEvent("unmount")}},[r]),r}const nee=(e,t)=>{const n=p.useCallback(r=>{if(t.localeText[r]==null)throw new Error(`Missing translation for key ${r}.`);return t.localeText[r]},[t.localeText]);e.current.register("public",{getLocaleText:n})},ree=e=>{const t=p.useRef({}),n=p.useRef(!1),r=p.useCallback(u=>{n.current||!u||(n.current=!0,Object.values(u.appliers).forEach(d=>{d()}),n.current=!1)},[]),o=p.useCallback((u,d,f)=>{t.current[u]||(t.current[u]={processors:new Map,processorsAsArray:[],appliers:{}});const h=t.current[u];return h.processors.get(d)!==f&&(h.processors.set(d,f),h.processorsAsArray=Array.from(t.current[u].processors.values()).filter(m=>m!==null),r(h)),()=>{t.current[u].processors.set(d,null),t.current[u].processorsAsArray=Array.from(t.current[u].processors.values()).filter(m=>m!==null)}},[r]),s=p.useCallback((u,d,f)=>(t.current[u]||(t.current[u]={processors:new Map,processorsAsArray:[],appliers:{}}),t.current[u].appliers[d]=f,()=>{const h=t.current[u].appliers,g=te(h,[d].map(nf));t.current[u].appliers=g}),[]),i=p.useCallback(u=>{r(t.current[u])},[r]),l=p.useCallback((...u)=>{const[d,f,h]=u;if(!t.current[d])return f;const g=t.current[d].processorsAsArray;let m=f;for(let C=0;C{const o=p.useRef(null),s=p.useRef(`mui-${Math.round(Math.random()*1e9)}`),i=p.useCallback(()=>{o.current=e.current.registerPipeProcessor(t,s.current,n)},[e,n,t]);qf(()=>{r&&i()});const l=p.useRef(!0);p.useEffect(()=>(l.current?l.current=!1:r&&i(),()=>{o.current&&(o.current(),o.current=null)}),[i,r])},iw=(e,t,n)=>{const r=p.useRef(null),o=p.useRef(`mui-${Math.round(Math.random()*1e9)}`),s=p.useCallback(()=>{r.current=e.current.registerPipeApplier(t,o.current,n)},[e,n,t]);qf(()=>{s()});const i=p.useRef(!0);p.useEffect(()=>(i.current?i.current=!1:s(),()=>{r.current&&(r.current(),r.current=null)}),[s])},Tg=(e,t,n,r)=>{const o=p.useCallback(()=>{e.current.registerStrategyProcessor(t,n,r)},[e,r,n,t]);qf(()=>{o()});const s=p.useRef(!0);p.useEffect(()=>{s.current?s.current=!1:o()},[o])},Zl="none",sM={rowTreeCreation:"rowTree",filtering:"rowTree",sorting:"rowTree",visibleRowsLookupCreation:"rowTree"},oee=e=>{const t=p.useRef(new Map),n=p.useRef({}),r=p.useCallback((a,c,u)=>{const d=()=>{const g=n.current[c],m=te(g,[a].map(nf));n.current[c]=m};n.current[c]||(n.current[c]={});const f=n.current[c],h=f[a];return f[a]=u,!h||h===u||a===e.current.getActiveStrategy(sM[c])&&e.current.publishEvent("activeStrategyProcessorChange",c),d},[e]),o=p.useCallback((a,c)=>{const u=e.current.getActiveStrategy(sM[a]);if(u==null)throw new Error("Can't apply a strategy processor before defining an active strategy");const d=n.current[a];if(!d||!d[u])throw new Error(`No processor found for processor "${a}" on strategy "${u}"`);const f=d[u];return f(c)},[e]),s=p.useCallback(a=>{const u=Array.from(t.current.entries()).find(([,d])=>d.group!==a?!1:d.isAvailable());return(u==null?void 0:u[0])??Zl},[]),i=p.useCallback((a,c,u)=>{t.current.set(c,{group:a,isAvailable:u}),e.current.publishEvent("strategyAvailabilityChange")},[e]);Xe(e,{registerStrategyProcessor:r,applyStrategyProcessor:o,getActiveStrategy:s,setStrategyAvailability:i},"private")},see=e=>{const t=p.useRef({}),n=p.useCallback(a=>{t.current[a.stateId]=a},[]),r=p.useCallback((a,c)=>{let u;if(X7(a)?u=a(e.current.state):u=a,e.current.state===u)return!1;let d=!1;const f=[];if(Object.keys(t.current).forEach(h=>{const g=t.current[h],m=g.stateSelector(e.current.state,e.current.instanceId),C=g.stateSelector(u,e.current.instanceId);C!==m&&(f.push({stateId:g.stateId,hasPropChanged:C!==g.propModel}),g.propModel!==void 0&&C!==g.propModel&&(d=!0))}),f.length>1)throw new Error(`You're not allowed to update several sub-state in one transaction. You already updated ${f[0].stateId}, therefore, you're not allowed to update ${f.map(h=>h.stateId).join(", ")} in the same transaction.`);if(d||(e.current.state=u,e.current.publishEvent("stateChange",u),e.current.store.update(u)),f.length===1){const{stateId:h,hasPropChanged:g}=f[0],m=t.current[h],C=m.stateSelector(u,e.current.instanceId);m.propOnChange&&g&&m.propOnChange(C,{reason:c,api:e.current}),d||e.current.publishEvent(m.changeEvent,C,{reason:c})}return!d},[e]),o=p.useCallback((a,c,u)=>e.current.setState(d=>x({},d,{[a]:c(d[a])}),u),[e]),s=p.useCallback(()=>{},[]),i={setState:r,forceUpdate:s},l={updateControlState:o,registerControlState:n};Xe(e,i,"public"),Xe(e,l,"private")},iee=(e,t)=>x({},e,{props:{getRowId:t.getRowId}}),lee=(e,t)=>{p.useEffect(()=>{e.current.setState(n=>x({},n,{props:{getRowId:t.getRowId}}))},[e,t.getRowId])},aee=(e,t)=>{const n=tee(e,t);return UJ(n),lee(n,t),KJ(n),YJ(n,t),see(n),ree(n),oee(n),nee(n,t),n.current.register("private",{rootProps:t}),n},yn=(e,t,n)=>{const r=p.useRef(!1);r.current||(t.current.state=e(t.current.state,n,t),r.current=!0)};function vx(e,t){if(e==null)return"";const n=typeof e=="string"?e:`${e}`;if(t.shouldAppendQuotes||t.escapeFormulas){const r=n.replace(/"/g,'""');return t.escapeFormulas&&["=","+","-","@"," ","\r"].includes(r[0])?`"'${r}"`:[t.delimiter,`
+`,"\r",'"'].some(o=>n.includes(o))?`"${r}"`:r}return n}const Y2=(e,t)=>{var s,i;const{csvOptions:n,ignoreValueFormatter:r}=t;let o;if(r){const l=e.colDef.type;l==="number"?o=String(e.value):l==="date"||l==="dateTime"?o=(s=e.value)==null?void 0:s.toISOString():typeof((i=e.value)==null?void 0:i.toString)=="function"?o=e.value.toString():o=e.value}else o=e.formattedValue;return vx(o,n)};class yx{constructor(t){this.options=void 0,this.rowString="",this.isEmpty=!0,this.options=t}addValue(t){this.isEmpty||(this.rowString+=this.options.csvOptions.delimiter),typeof this.options.sanitizeCellValue=="function"?this.rowString+=this.options.sanitizeCellValue(t,this.options.csvOptions):this.rowString+=t,this.isEmpty=!1}getRowString(){return this.rowString}}const cee=({id:e,columns:t,getCellParams:n,csvOptions:r,ignoreValueFormatter:o})=>{const s=new yx({csvOptions:r});return t.forEach(i=>{const l=n(e,i.field);s.addValue(Y2(l,{ignoreValueFormatter:o,csvOptions:r}))}),s.getRowString()};function uee(e){const{columns:t,rowIds:n,csvOptions:r,ignoreValueFormatter:o,apiRef:s}=e,i=n.reduce((d,f)=>`${d}${cee({id:f,columns:t,getCellParams:s.current.getCellParams,ignoreValueFormatter:o,csvOptions:r})}\r
+`,"").trim();if(!r.includeHeaders)return i;const l=t.filter(d=>d.field!==pu.field),a=[];if(r.includeColumnGroupsHeaders){const d=s.current.getAllGroupDetails();let f=0;const h=l.reduce((g,m)=>{const C=s.current.getColumnGroupPath(m.field);return g[m.field]=C,f=Math.max(f,C.length),g},{});for(let g=0;g{const b=(h[C.field]||[])[g],y=d[b];m.addValue(y?y.headerName||y.groupId:"")})}}const c=new yx({csvOptions:r,sanitizeCellValue:vx});return l.forEach(d=>{c.addValue(d.headerName||d.field)}),a.push(c),`${`${a.map(d=>d.getRowString()).join(`\r
+`)}\r
+`}${i}`.trim()}function iM(e){const t=document.createElement("span");t.style.whiteSpace="pre",t.style.userSelect="all",t.style.opacity="0px",t.textContent=e,document.body.appendChild(t);const n=document.createRange();n.selectNode(t);const r=window.getSelection();r.removeAllRanges(),r.addRange(n);try{document.execCommand("copy")}finally{document.body.removeChild(t)}}function dee(e){navigator.clipboard?navigator.clipboard.writeText(e).catch(()=>{iM(e)}):iM(e)}function fee(e){var t;return!!((t=window.getSelection())!=null&&t.toString()||e&&(e.selectionEnd||0)-(e.selectionStart||0)>0)}const hee=(e,t)=>{const n=t.ignoreValueFormatterDuringExport,r=(typeof n=="object"?n==null?void 0:n.clipboardExport:n)||!1,o=t.clipboardCopyCellDelimiter,s=p.useCallback(i=>{if(!tZ(i)||fee(i.target))return;let l="";if(e.current.getSelectedRows().size>0)l=e.current.getDataAsCsv({includeHeaders:!1,delimiter:o,shouldAppendQuotes:!1,escapeFormulas:!1});else{const c=cr(e);if(c){const u=e.current.getCellParams(c.id,c.field);l=Y2(u,{csvOptions:{delimiter:o,shouldAppendQuotes:!1,escapeFormulas:!1},ignoreValueFormatter:r})}}l=e.current.unstable_applyPipeProcessors("clipboardCopy",l),l&&(dee(l),e.current.publishEvent("clipboardCopy",l))},[e,r,o]);c2(e,()=>e.current.rootElementRef.current,"keydown",s),St(e,"clipboardCopy",t.onClipboardCopy)},pee=e=>x({},e,{columnMenu:{open:!1}}),gee=e=>{const t=Mn(e,"useGridColumnMenu"),n=p.useCallback(i=>{const l=xp(e.current.state),a={open:!0,field:i};(a.open!==l.open||a.field!==l.field)&&(e.current.setState(u=>u.columnMenu.open&&u.columnMenu.field===i?u:(t.debug("Opening Column Menu"),x({},u,{columnMenu:{open:!0,field:i}}))),e.current.hidePreferences())},[e,t]),r=p.useCallback(()=>{const i=xp(e.current.state);if(i.field){const c=hs(e),u=no(e),d=$s(e);let f=i.field;if(c[f]||(f=d[0]),u[f]===!1){const h=d.filter(m=>m===f?!0:u[m]!==!1),g=h.indexOf(f);f=h[g+1]||h[g-1]}e.current.setColumnHeaderFocus(f)}const l={open:!1,field:void 0};(l.open!==i.open||l.field!==i.field)&&e.current.setState(c=>(t.debug("Hiding Column Menu"),x({},c,{columnMenu:l})))},[e,t]),o=p.useCallback(i=>{t.debug("Toggle Column Menu");const l=xp(e.current.state);!l.open||l.field!==i?n(i):r()},[e,t,n,r]);Xe(e,{showColumnMenu:n,hideColumnMenu:r,toggleColumnMenu:o},"public"),Ee(e,"columnResizeStart",r),Ee(e,"virtualScrollerWheel",e.current.hideColumnMenu),Ee(e,"virtualScrollerTouchMove",e.current.hideColumnMenu)},mee=(e,t,n)=>{var o,s,i;const r=Ia({apiRef:n,columnsToUpsert:t.columns,initialState:(o=t.initialState)==null?void 0:o.columns,columnVisibilityModel:t.columnVisibilityModel??((i=(s=t.initialState)==null?void 0:s.columns)==null?void 0:i.columnVisibilityModel)??{},keepOnlyColumnsToUpsert:!0});return x({},e,{columns:r,pinnedColumns:e.pinnedColumns??Cg})};function bee(e,t){var T,D;const n=Mn(e,"useGridColumns"),r=p.useRef(t.columns);e.current.registerControlState({stateId:"visibleColumns",propModel:t.columnVisibilityModel,propOnChange:t.onColumnVisibilityModelChange,stateSelector:no,changeEvent:"columnVisibilityModelChange"});const o=p.useCallback($=>{n.debug("Updating columns state."),e.current.setState(lM($)),e.current.publishEvent("columnsChange",$.orderedFields)},[n,e]),s=p.useCallback($=>hs(e)[$],[e]),i=p.useCallback(()=>lo(e),[e]),l=p.useCallback(()=>qt(e),[e]),a=p.useCallback(($,L=!0)=>(L?qt(e):lo(e)).findIndex(R=>R.field===$),[e]),c=p.useCallback($=>{const L=a($);return rl(e)[L]},[e,a]),u=p.useCallback($=>{var A,R;no(e)!==$&&(e.current.setState(_=>x({},_,{columns:Ia({apiRef:e,columnsToUpsert:[],initialState:void 0,columnVisibilityModel:$,keepOnlyColumnsToUpsert:!1})})),(R=(A=e.current).updateRenderContext)==null||R.call(A),e.current.forceUpdate())},[e]),d=p.useCallback($=>{const L=Ia({apiRef:e,columnsToUpsert:$,initialState:void 0,keepOnlyColumnsToUpsert:!1});o(L)},[e,o]),f=p.useCallback(($,L)=>{const A=no(e),R=A[$]??!0;if(L!==R){const _=x({},A,{[$]:L});e.current.setColumnVisibilityModel(_)}},[e]),h=p.useCallback($=>$s(e).findIndex(A=>A===$),[e]),g=p.useCallback(($,L)=>{const A=$s(e),R=h($);if(R===L)return;n.debug(`Moving column ${$} to index ${L}`);const _=[...A],O=_.splice(R,1)[0];_.splice(L,0,O),o(x({},ls(e.current.state),{orderedFields:_}));const F={column:e.current.getColumn($),targetIndex:e.current.getColumnIndexRelativeToVisibleColumns($),oldIndex:R};e.current.publishEvent("columnIndexChange",F)},[e,n,o,h]),m=p.useCallback(($,L)=>{n.debug(`Updating column ${$} width to ${L}`);const A=ls(e.current.state),R=A.lookup[$],_=x({},R,{width:L,hasBeenResized:!0});o(gx(x({},A,{lookup:x({},A.lookup,{[$]:_})}),e.current.getRootDimensions())),e.current.publishEvent("columnWidthChange",{element:e.current.getColumnHeaderElement($),colDef:_,width:L})},[e,n,o]),C={getColumn:s,getAllColumns:i,getColumnIndex:a,getColumnPosition:c,getVisibleColumns:l,getColumnIndexRelativeToVisibleColumns:h,updateColumns:d,setColumnVisibilityModel:u,setColumnVisibility:f,setColumnWidth:m},b={setColumnIndex:g};Xe(e,C,"public"),Xe(e,b,t.signature===io.DataGrid?"private":"public");const y=p.useCallback(($,L)=>{var j,z;const A={},R=no(e);(!L.exportOnlyDirtyModels||t.columnVisibilityModel!=null||Object.keys(((z=(j=t.initialState)==null?void 0:j.columns)==null?void 0:z.columnVisibilityModel)??{}).length>0||Object.keys(R).length>0)&&(A.columnVisibilityModel=R),A.orderedFields=$s(e);const O=lo(e),F={};return O.forEach(H=>{if(H.hasBeenResized){const B={};w2.forEach(G=>{let V=H[G];V===1/0&&(V=-1),B[G]=V}),F[H.field]=B}}),Object.keys(F).length>0&&(A.dimensions=F),x({},$,{columns:A})},[e,t.columnVisibilityModel,(T=t.initialState)==null?void 0:T.columns]),w=p.useCallback(($,L)=>{var O;const A=(O=L.stateToRestore.columns)==null?void 0:O.columnVisibilityModel,R=L.stateToRestore.columns;if(A==null&&R==null)return $;const _=Ia({apiRef:e,columnsToUpsert:[],initialState:R,columnVisibilityModel:A,keepOnlyColumnsToUpsert:!1});return e.current.setState(lM(_)),R!=null&&e.current.publishEvent("columnsChange",_.orderedFields),$},[e]),S=p.useCallback(($,L)=>{var A;if(L===Bs.columns){const R=t.slots.columnsPanel;return v.jsx(R,x({},(A=t.slotProps)==null?void 0:A.columnsPanel))}return $},[t.slots.columnsPanel,(D=t.slotProps)==null?void 0:D.columnsPanel]),k=p.useCallback($=>t.disableColumnSelector?$:[...$,"columnMenuColumnsItem"],[t.disableColumnSelector]);Bt(e,"columnMenu",k),Bt(e,"exportState",y),Bt(e,"restoreState",w),Bt(e,"preferencePanel",S);const P=p.useRef(null);Ee(e,"viewportInnerSizeChange",$=>{if(P.current!==$.width){if(P.current=$.width,!qt(e).some(A=>A.flex&&A.flex>0))return;o(gx(ls(e.current.state),e.current.getRootDimensions()))}});const I=p.useCallback(()=>{n.info("Columns pipe processing have changed, regenerating the columns");const $=Ia({apiRef:e,columnsToUpsert:[],initialState:void 0,keepOnlyColumnsToUpsert:!1});o($)},[e,n,o]);iw(e,"hydrateColumns",I);const E=p.useRef(!0);p.useEffect(()=>{if(E.current){E.current=!1;return}if(n.info(`GridColumns have changed, new length ${t.columns.length}`),r.current===t.columns)return;const $=Ia({apiRef:e,initialState:void 0,columnsToUpsert:t.columns,keepOnlyColumnsToUpsert:!0});r.current=t.columns,o($)},[n,e,o,t.columns]),p.useEffect(()=>{t.columnVisibilityModel!==void 0&&e.current.setColumnVisibilityModel(t.columnVisibilityModel)},[e,n,t.columnVisibilityModel])}function lM(e){return t=>x({},t,{columns:e})}const vee=(e,t)=>{var n;return x({},e,{density:((n=t.initialState)==null?void 0:n.density)??t.density??"standard"})},yee=(e,t)=>{var l;const n=Mn(e,"useDensity");e.current.registerControlState({stateId:"density",propModel:t.density,propOnChange:t.onDensityChange,stateSelector:Ba,changeEvent:"densityChange"});const o={setDensity:Ke(a=>{Ba(e.current.state)!==a&&(n.debug(`Set grid density to ${a}`),e.current.setState(u=>x({},u,{density:a})))})};Xe(e,o,"public");const s=p.useCallback((a,c)=>{var f;const u=Ba(e.current.state);return!c.exportOnlyDirtyModels||t.density!=null||((f=t.initialState)==null?void 0:f.density)!=null?x({},a,{density:u}):a},[e,t.density,(l=t.initialState)==null?void 0:l.density]),i=p.useCallback((a,c)=>{var d;const u=(d=c.stateToRestore)!=null&&d.density?c.stateToRestore.density:Ba(e.current.state);return e.current.setState(f=>x({},f,{density:u})),a},[e]);Bt(e,"exportState",s),Bt(e,"restoreState",i),p.useEffect(()=>{t.density&&e.current.setDensity(t.density)},[e,t.density])};function xee(e,t="csv",n=document.title||"untitled"){const r=`${n}.${t}`;if("download"in HTMLAnchorElement.prototype){const o=URL.createObjectURL(e),s=document.createElement("a");s.href=o,s.download=r,s.click(),setTimeout(()=>{URL.revokeObjectURL(o)});return}throw new Error("MUI X: exportAs not supported.")}const Q2=({apiRef:e,options:t})=>{const n=lo(e);return t.fields?t.fields.reduce((o,s)=>{const i=n.find(l=>l.field===s);return i&&o.push(i),o},[]):(t.allColumns?n:qt(e)).filter(o=>!o.disableExport)},Z2=({apiRef:e})=>{var a,c;const t=s2(e),n=mn(e),r=e.current.getSelectedRows(),o=t.filter(u=>n[u].type!=="footer"),s=cu(e),i=((a=s==null?void 0:s.top)==null?void 0:a.map(u=>u.id))||[],l=((c=s==null?void 0:s.bottom)==null?void 0:c.map(u=>u.id))||[];return o.unshift(...i),o.push(...l),r.size>0?o.filter(u=>r.has(u)):o},Cee=(e,t)=>{const n=Mn(e,"useGridCsvExport"),r=t.ignoreValueFormatterDuringExport,o=(typeof r=="object"?r==null?void 0:r.csvExport:r)||!1,s=p.useCallback((c={})=>{n.debug("Get data as CSV");const u=Q2({apiRef:e,options:c}),f=(c.getRowsToExport??Z2)({apiRef:e});return uee({columns:u,rowIds:f,csvOptions:{delimiter:c.delimiter||",",shouldAppendQuotes:c.shouldAppendQuotes??!0,includeHeaders:c.includeHeaders??!0,includeColumnGroupsHeaders:c.includeColumnGroupsHeaders??!0,escapeFormulas:c.escapeFormulas??!0},ignoreValueFormatter:o,apiRef:e})},[n,e,o]),i=p.useCallback(c=>{n.debug("Export data as CSV");const u=s(c),d=new Blob([c!=null&&c.utf8WithBom?new Uint8Array([239,187,191]):"",u],{type:"text/csv"});xee(d,"csv",c==null?void 0:c.fileName)},[n,s]);Xe(e,{getDataAsCsv:s,exportDataAsCsv:i},"public");const a=p.useCallback((c,u)=>{var d;return(d=u.csvOptions)!=null&&d.disableToolbarButton?c:[...c,{component:v.jsx(cJ,{options:u.csvOptions}),componentName:"csvExport"}]},[]);Bt(e,"exportMenu",a)},Cp=(e,t,n)=>{let r=e.paginationModel;const o=e.rowCount,s=(n==null?void 0:n.pageSize)??r.pageSize,i=(n==null?void 0:n.page)??r.page,l=u2(o,s,i);n&&((n==null?void 0:n.page)!==r.page||(n==null?void 0:n.pageSize)!==r.pageSize)&&(r=n);const a=s===-1?0:rq(r.page,l);return a!==r.page&&(r=x({},r,{page:a})),f2(r.pageSize,t),r},wee=(e,t)=>{var y,w;const n=Mn(e,"useGridPaginationModel"),r=he(e,au),o=p.useRef(_n(e)),s=Math.floor(t.rowHeight*r);e.current.registerControlState({stateId:"paginationModel",propModel:t.paginationModel,propOnChange:t.onPaginationModelChange,stateSelector:Un,changeEvent:"paginationModelChange"});const i=p.useCallback(S=>{const k=Un(e);S!==k.page&&(n.debug(`Setting page to ${S}`),e.current.setPaginationModel({page:S,pageSize:k.pageSize}))},[e,n]),l=p.useCallback(S=>{const k=Un(e);S!==k.pageSize&&(n.debug(`Setting page size to ${S}`),e.current.setPaginationModel({pageSize:S,page:k.page}))},[e,n]),a=p.useCallback(S=>{const k=Un(e);S!==k&&(n.debug("Setting 'paginationModel' to",S),e.current.setState(P=>x({},P,{pagination:x({},P.pagination,{paginationModel:Cp(P.pagination,t.signature,S)})}),"setPaginationModel"))},[e,n,t.signature]);Xe(e,{setPage:i,setPageSize:l,setPaginationModel:a},"public");const u=p.useCallback((S,k)=>{var I,E;const P=Un(e);return!k.exportOnlyDirtyModels||t.paginationModel!=null||((E=(I=t.initialState)==null?void 0:I.pagination)==null?void 0:E.paginationModel)!=null||P.page!==0&&P.pageSize!==nq(t.autoPageSize)?x({},S,{pagination:x({},S.pagination,{paginationModel:P})}):S},[e,t.paginationModel,(w=(y=t.initialState)==null?void 0:y.pagination)==null?void 0:w.paginationModel,t.autoPageSize]),d=p.useCallback((S,k)=>{var M,I;const P=(M=k.stateToRestore.pagination)!=null&&M.paginationModel?x({},d2(t.autoPageSize),(I=k.stateToRestore.pagination)==null?void 0:I.paginationModel):Un(e);return e.current.setState(E=>x({},E,{pagination:x({},E.pagination,{paginationModel:Cp(E.pagination,t.signature,P)})}),"stateRestorePreProcessing"),S},[e,t.autoPageSize,t.signature]);Bt(e,"exportState",u),Bt(e,"restoreState",d);const f=()=>{var k;const S=Un(e);(k=e.current.virtualScrollerRef)!=null&&k.current&&e.current.scrollToIndexes({rowIndex:S.page*S.pageSize})},h=p.useCallback(()=>{if(!t.autoPageSize)return;const S=e.current.getRootDimensions(),k=Math.max(1,Math.floor(S.viewportInnerSize.height/s));e.current.setPageSize(k)},[e,t.autoPageSize,s]),g=p.useCallback(S=>{if(S==null)return;const k=Un(e);if(k.page===0)return;const P=g2(e);k.page>P-1&&e.current.setPage(Math.max(0,P-1))},[e]),m=p.useCallback(()=>{Un(e).page!==0&&e.current.setPage(0),e.current.getScrollPosition().top!==0&&e.current.scroll({top:0})},[e]),C=p.useCallback(S=>{const k=x({},S,{items:UC(e)});is(k,o.current)||(o.current=k,m())},[e,m]);Ee(e,"viewportInnerSizeChange",h),Ee(e,"paginationModelChange",f),Ee(e,"rowCountChange",g),Ee(e,"sortModelChange",ml(t.resetPageOnSortFilter,m)),Ee(e,"filterModelChange",ml(t.resetPageOnSortFilter,C));const b=p.useRef(!0);p.useEffect(()=>{if(b.current){b.current=!1;return}t.pagination&&e.current.setState(S=>x({},S,{pagination:x({},S.pagination,{paginationModel:Cp(S.pagination,t.signature,t.paginationModel)})}))},[e,t.paginationModel,t.signature,t.pagination]),p.useEffect(()=>{e.current.setState(S=>{const k=t.pagination===!0;return S.pagination.paginationMode===t.paginationMode||S.pagination.enabled===k?S:x({},S,{pagination:x({},S.pagination,{paginationMode:t.paginationMode,enabled:t.pagination===!0})})})},[e,t.paginationMode,t.pagination]),p.useEffect(h,[h])};function See(){return new Promise(e=>{requestAnimationFrame(()=>{e()})})}function kee(e){const t=document.createElement("iframe");return t.style.position="absolute",t.style.width="0px",t.style.height="0px",t.title=e||document.title,t}const Pee=(e,t)=>{const n=e.current.rootElementRef.current!==null,r=Mn(e,"useGridPrintExport"),o=p.useRef(null),s=p.useRef(null),i=p.useRef({}),l=p.useRef([]),a=p.useRef(null);p.useEffect(()=>{o.current=Ft(e.current.rootElementRef.current)},[e,n]);const c=p.useCallback((C,b,y)=>new Promise(w=>{const S=Q2({apiRef:e,options:{fields:C,allColumns:b}}).map(M=>M.field),k=lo(e),P={};k.forEach(M=>{P[M.field]=S.includes(M.field)}),y&&(P[pu.field]=!0),e.current.setColumnVisibilityModel(P),w()}),[e]),u=p.useCallback(C=>{const y=C({apiRef:e}).reduce((w,S)=>{const k=e.current.getRow(S);return k[Lc]||w.push(k),w},[]);e.current.setRows(y)},[e]),d=p.useCallback((C,b)=>{var R,_,O;const y=x({copyStyles:!0,hideToolbar:!1,hideFooter:!1,includeCheckboxes:!1},b),w=C.contentDocument;if(!w)return;const S=gu(e.current.state),k=e.current.rootElementRef.current,P=k.cloneNode(!0),M=P.querySelector(`.${N.main}`);M.style.overflow="visible",P.style.contain="size";let I=((R=k.querySelector(`.${N.toolbarContainer}`))==null?void 0:R.offsetHeight)||0,E=((_=k.querySelector(`.${N.footerContainer}`))==null?void 0:_.offsetHeight)||0;const T=P.querySelector(`.${N.footerContainer}`);y.hideToolbar&&((O=P.querySelector(`.${N.toolbarContainer}`))==null||O.remove(),I=0),y.hideFooter&&T&&(T.remove(),E=0);const D=S.currentPageTotalHeight+bb(e,t)+I+E;P.style.height=`${D}px`,P.style.boxSizing="content-box",!y.hideFooter&&T&&(T.style.position="absolute",T.style.width="100%",T.style.top=`${D-E}px`);const $=document.createElement("div");$.appendChild(P),w.body.style.marginTop="0px",w.body.innerHTML=$.innerHTML;const L=typeof y.pageStyle=="function"?y.pageStyle():y.pageStyle;if(typeof L=="string"){const F=w.createElement("style");F.appendChild(w.createTextNode(L)),w.head.appendChild(F)}y.bodyClassName&&w.body.classList.add(...y.bodyClassName.split(" "));const A=[];if(y.copyStyles){const F=k.getRootNode(),z=(F.constructor.name==="ShadowRoot"?F:o.current).querySelectorAll("style, link[rel='stylesheet']");for(let H=0;H{G.addEventListener("load",()=>V())})),w.head.appendChild(G)}}}Promise.all(A).then(()=>{C.contentWindow.print()})},[e,o,t]),f=p.useCallback(C=>{var b,y;o.current.body.removeChild(C),e.current.restoreState(s.current||{}),(y=(b=s.current)==null?void 0:b.columns)!=null&&y.columnVisibilityModel||e.current.setColumnVisibilityModel(i.current),e.current.setState(w=>x({},w,{virtualization:a.current})),e.current.setRows(l.current),s.current=null,i.current={},l.current=[]},[e]),g={exportDataAsPrint:p.useCallback(async C=>{if(r.debug("Export data as Print"),!e.current.rootElementRef.current)throw new Error("MUI X: No grid root element available.");if(s.current=e.current.exportState(),i.current=no(e),l.current=e.current.getSortedRows().filter(y=>!y[Lc]),t.pagination){const w={page:0,pageSize:WC(e)};e.current.setState(S=>x({},S,{pagination:x({},S.pagination,{paginationModel:Cp(S.pagination,"DataGridPro",w)})}))}a.current=e.current.state.virtualization,e.current.unstable_setVirtualization(!1),await c(C==null?void 0:C.fields,C==null?void 0:C.allColumns,C==null?void 0:C.includeCheckboxes),u((C==null?void 0:C.getRowsToExport)??Z2),await See();const b=kee(C==null?void 0:C.fileName);b.onload=()=>{d(b,C),b.contentWindow.matchMedia("print").addEventListener("change",w=>{w.matches===!1&&f(b)})},o.current.body.appendChild(b)},[t,r,e,d,f,c,u])};Xe(e,g,"public");const m=p.useCallback((C,b)=>{var y;return(y=b.printOptions)!=null&&y.disableToolbarButton?C:[...C,{component:v.jsx(uJ,{options:b.printOptions}),componentName:"printExport"}]},[]);Bt(e,"exportMenu",m)},Mee=(e,t,n)=>{var o,s;const r=t.filterModel??((s=(o=t.initialState)==null?void 0:o.filter)==null?void 0:s.filterModel)??ff();return x({},e,{filter:x({filterModel:NC(r,t.disableMultipleColumnsFiltering,n)},BO),visibleRowsLookup:{}})},Iee=e=>e.filteredRowsLookup;function aM(e,t){return e.current.applyStrategyProcessor("visibleRowsLookupCreation",{tree:t.rows.tree,filteredRowsLookup:t.filter.filteredRowsLookup})}function Eee(){return wO(Object.values)}const _ee=(e,t)=>{var E,T,D;const n=Mn(e,"useGridFilter");e.current.registerControlState({stateId:"filter",propModel:t.filterModel,propOnChange:t.onFilterModelChange,stateSelector:_n,changeEvent:"filterModelChange"});const r=p.useCallback(()=>{e.current.setState($=>{const L=_n($,e.current.instanceId),A=e.current.getFilterState(L),R=x({},$,{filter:x({},$.filter,A)}),_=aM(e,R);return x({},R,{visibleRowsLookup:_})}),e.current.publishEvent("filteredRowsSet")},[e]),o=p.useCallback(($,L)=>L==null||L.filterable===!1||t.disableColumnFilter?$:[...$,"columnMenuFilterItem"],[t.disableColumnFilter]),s=p.useCallback(()=>{r(),e.current.forceUpdate()},[e,r]),i=p.useCallback($=>{const L=_n(e),A=[...L.items],R=A.findIndex(_=>_.id===$.id);R===-1?A.push($):A[R]=$,e.current.setFilterModel(x({},L,{items:A}),"upsertFilterItem")},[e]),l=p.useCallback($=>{const L=_n(e),A=[...L.items];$.forEach(R=>{const _=A.findIndex(O=>O.id===R.id);_===-1?A.push(R):A[_]=R}),e.current.setFilterModel(x({},L,{items:A}),"upsertFilterItems")},[e]),a=p.useCallback($=>{const L=_n(e),A=L.items.filter(R=>R.id!==$.id);A.length!==L.items.length&&e.current.setFilterModel(x({},L,{items:A}),"deleteFilterItem")},[e]),c=p.useCallback(($,L,A)=>{if(n.debug("Displaying filter panel"),$){const R=_n(e),_=R.items.filter(z=>{var V;if(z.value!==void 0)return!(Array.isArray(z.value)&&z.value.length===0);const B=(V=e.current.getColumn(z.field).filterOperators)==null?void 0:V.find(Z=>Z.value===z.operator);return!(typeof(B==null?void 0:B.requiresFilterValue)>"u"?!0:B==null?void 0:B.requiresFilterValue)});let O;const F=_.find(z=>z.field===$),j=e.current.getColumn($);F?O=_:t.disableMultipleColumnsFiltering?O=[px({field:$,operator:j.filterOperators[0].value},e)]:O=[..._,px({field:$,operator:j.filterOperators[0].value},e)],e.current.setFilterModel(x({},R,{items:O}))}e.current.showPreferences(Bs.filters,L,A)},[e,n,t.disableMultipleColumnsFiltering]),u=p.useCallback(()=>{n.debug("Hiding filter panel"),e.current.hidePreferences()},[e,n]),d=p.useCallback($=>{const L=_n(e);L.logicOperator!==$&&e.current.setFilterModel(x({},L,{logicOperator:$}),"changeLogicOperator")},[e]),f=p.useCallback($=>{const L=_n(e);is(L.quickFilterValues,$)||e.current.setFilterModel(x({},L,{quickFilterValues:[...$]}))},[e]),h=p.useCallback(($,L)=>{_n(e)!==$&&(n.debug("Setting filter model"),e.current.updateControlState("filter",wP($,t.disableMultipleColumnsFiltering,e),L),e.current.unstable_applyFilters())},[e,n,t.disableMultipleColumnsFiltering]),g=p.useCallback($=>{const L=NC($,t.disableMultipleColumnsFiltering,e),A=t.filterMode==="client"?iK(L,e,t.disableEval):null,R=e.current.applyStrategyProcessor("filtering",{isRowMatchingFilters:A,filterModel:L??ff()});return x({},R,{filterModel:L})},[t.disableMultipleColumnsFiltering,t.filterMode,t.disableEval,e]),m={setFilterLogicOperator:d,unstable_applyFilters:s,deleteFilterItem:a,upsertFilterItem:i,upsertFilterItems:l,setFilterModel:h,showFilterPanel:c,hideFilterPanel:u,setQuickFilterValues:f,ignoreDiacritics:t.ignoreDiacritics,getFilterState:g};Xe(e,m,"public");const C=p.useCallback(($,L)=>{var _,O;const A=_n(e);return A.items.forEach(F=>{delete F.fromInput}),!L.exportOnlyDirtyModels||t.filterModel!=null||((O=(_=t.initialState)==null?void 0:_.filter)==null?void 0:O.filterModel)!=null||!is(A,ff())?x({},$,{filter:{filterModel:A}}):$},[e,t.filterModel,(T=(E=t.initialState)==null?void 0:E.filter)==null?void 0:T.filterModel]),b=p.useCallback(($,L)=>{var R;const A=(R=L.stateToRestore.filter)==null?void 0:R.filterModel;return A==null?$:(e.current.updateControlState("filter",wP(A,t.disableMultipleColumnsFiltering,e),"restoreState"),x({},$,{callbacks:[...$.callbacks,e.current.unstable_applyFilters]}))},[e,t.disableMultipleColumnsFiltering]),y=p.useCallback(($,L)=>{var A;if(L===Bs.filters){const R=t.slots.filterPanel;return v.jsx(R,x({},(A=t.slotProps)==null?void 0:A.filterPanel))}return $},[t.slots.filterPanel,(D=t.slotProps)==null?void 0:D.filterPanel]),{getRowId:w}=t,S=zo(Eee),k=p.useCallback($=>{var H;if(t.filterMode!=="client"||!$.isRowMatchingFilters||!$.filterModel.items.length&&!((H=$.filterModel.quickFilterValues)!=null&&H.length))return BO;const L=to(e),A={},{isRowMatchingFilters:R}=$,_={},O={passingFilterItems:null,passingQuickFilterValues:null},F=S.current(e.current.state.rows.dataRowIdToModelLookup);for(let B=0;B{n.debug("onColUpdated - GridColumns changed, applying filters");const $=_n(e),L=hs(e),A=$.items.filter(R=>R.field&&L[R.field]);A.length<$.items.length&&e.current.setFilterModel(x({},$,{items:A}))},[e,n]),M=p.useCallback($=>{$==="filtering"&&e.current.unstable_applyFilters()},[e]),I=p.useCallback(()=>{e.current.setState($=>x({},$,{visibleRowsLookup:aM(e,$)})),e.current.forceUpdate()},[e]);Ee(e,"rowsSet",r),Ee(e,"columnsChange",P),Ee(e,"activeStrategyProcessorChange",M),Ee(e,"rowExpansionChange",I),Ee(e,"columnVisibilityModelChange",()=>{const $=_n(e);$.quickFilterValues&&XO($)&&e.current.unstable_applyFilters()}),qf(()=>{e.current.unstable_applyFilters()}),Et(()=>{t.filterModel!==void 0&&e.current.setFilterModel(t.filterModel)},[e,n,t.filterModel])},Tee=e=>x({},e,{focus:{cell:null,columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null},tabIndex:{cell:null,columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null}}),Ree=(e,t)=>{const n=Mn(e,"useGridFocus"),r=p.useRef(null),o=e.current.rootElementRef.current!==null,s=p.useCallback((I,E)=>{I&&e.current.getRow(I.id)&&e.current.publishEvent("cellFocusOut",e.current.getCellParams(I.id,I.field),E)},[e]),i=p.useCallback((I,E)=>{const T=cr(e);(T==null?void 0:T.id)===I&&(T==null?void 0:T.field)===E||(e.current.setState(D=>(n.debug(`Focusing on cell with id=${I} and field=${E}`),x({},D,{tabIndex:{cell:{id:I,field:E},columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null},focus:{cell:{id:I,field:E},columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null}}))),e.current.forceUpdate(),e.current.getRow(I)&&(T&&s(T,{}),e.current.publishEvent("cellFocusIn",e.current.getCellParams(I,E))))},[e,n,s]),l=p.useCallback((I,E={})=>{const T=cr(e);s(T,E),e.current.setState(D=>(n.debug(`Focusing on column header with colIndex=${I}`),x({},D,{tabIndex:{columnHeader:{field:I},columnHeaderFilter:null,cell:null,columnGroupHeader:null},focus:{columnHeader:{field:I},columnHeaderFilter:null,cell:null,columnGroupHeader:null}}))),e.current.forceUpdate()},[e,n,s]),a=p.useCallback((I,E={})=>{const T=cr(e);s(T,E),e.current.setState(D=>(n.debug(`Focusing on column header filter with colIndex=${I}`),x({},D,{tabIndex:{columnHeader:null,columnHeaderFilter:{field:I},cell:null,columnGroupHeader:null},focus:{columnHeader:null,columnHeaderFilter:{field:I},cell:null,columnGroupHeader:null}}))),e.current.forceUpdate()},[e,n,s]),c=p.useCallback((I,E,T={})=>{const D=cr(e);D&&e.current.publishEvent("cellFocusOut",e.current.getCellParams(D.id,D.field),T),e.current.setState($=>x({},$,{tabIndex:{columnGroupHeader:{field:I,depth:E},columnHeader:null,columnHeaderFilter:null,cell:null},focus:{columnGroupHeader:{field:I,depth:E},columnHeader:null,columnHeaderFilter:null,cell:null}})),e.current.forceUpdate()},[e]),u=p.useCallback(()=>wg(e),[e]),d=p.useCallback((I,E,T)=>{let D=e.current.getColumnIndex(E);const $=qt(e),L=Gi(e,{pagination:t.pagination,paginationMode:t.paginationMode}),A=cu(e),R=[].concat(A.top||[],L.rows,A.bottom||[]);let _=R.findIndex(z=>z.id===I);T==="right"?D+=1:T==="left"?D-=1:_+=1,D>=$.length?(_+=1,_=0&&(D=$.length-1)),_=Ar(_,0,R.length-1);const O=R[_];if(!O)return;const F=e.current.unstable_getCellColSpanInfo(O.id,D);F&&F.spannedByColSpan&&(T==="left"||T==="below"?D=F.leftVisibleCellIndex:T==="right"&&(D=F.rightVisibleCellIndex)),D=Ar(D,0,$.length-1);const j=$[D];e.current.setCellFocus(O.id,j.field)},[e,t.pagination,t.paginationMode]),f=p.useCallback(({id:I,field:E})=>{e.current.setCellFocus(I,E)},[e]),h=p.useCallback((I,E)=>{E.key==="Enter"||E.key==="Tab"||E.key==="Shift"||Ig(E.key)||e.current.setCellFocus(I.id,I.field)},[e]),g=p.useCallback(({field:I},E)=>{E.target===E.currentTarget&&e.current.setColumnHeaderFocus(I,E)},[e]),m=p.useCallback(({fields:I,depth:E},T)=>{if(T.target!==T.currentTarget)return;const D=wg(e);D!==null&&D.depth===E&&I.includes(D.field)||e.current.setColumnGroupHeaderFocus(I[0],E,T)},[e]),C=p.useCallback((I,E)=>{var T,D;(D=(T=E.relatedTarget)==null?void 0:T.getAttribute("class"))!=null&&D.includes(N.columnHeader)||(n.debug("Clearing focus"),e.current.setState($=>x({},$,{focus:{cell:null,columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null}})))},[n,e]),b=p.useCallback(I=>{r.current=I},[]),y=p.useCallback(I=>{const E=r.current;r.current=null;const T=cr(e);if(!e.current.unstable_applyPipeProcessors("canUpdateFocus",!0,{event:I,cell:E}))return;if(!T){E&&e.current.setCellFocus(E.id,E.field);return}if((E==null?void 0:E.id)===T.id&&(E==null?void 0:E.field)===T.field)return;const $=e.current.getCellElement(T.id,T.field);$!=null&&$.contains(I.target)||(E?e.current.setCellFocus(E.id,E.field):(e.current.setState(L=>x({},L,{focus:{cell:null,columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null}})),e.current.forceUpdate(),s(T,I)))},[e,s]),w=p.useCallback(I=>{if(I.cellMode==="view")return;const E=cr(e);((E==null?void 0:E.id)!==I.id||(E==null?void 0:E.field)!==I.field)&&e.current.setCellFocus(I.id,I.field)},[e]),S=p.useCallback(()=>{const I=cr(e);if(I&&!e.current.getRow(I.id)){const E=I.id;let T=null;if(typeof E<"u"){const D=e.current.getRowElement(E),$=D!=null&&D.dataset.rowindex?Number(D==null?void 0:D.dataset.rowindex):0,L=Gi(e,{pagination:t.pagination,paginationMode:t.paginationMode}),A=L.rows[Ar($,0,L.rows.length-1)];T=(A==null?void 0:A.id)??null}e.current.setState(D=>x({},D,{focus:{cell:T===null?null:{id:T,field:I.field},columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null}}))}},[e,t.pagination,t.paginationMode]),k=Ke(()=>{const I=cr(e);if(!I)return;const E=Gi(e,{pagination:t.pagination,paginationMode:t.paginationMode});if(E.rows.find($=>$.id===I.id))return;const D=qt(e);e.current.setState($=>x({},$,{tabIndex:{cell:{id:E.rows[0].id,field:D[0].field},columnGroupHeader:null,columnHeader:null,columnHeaderFilter:null}}))}),P={setCellFocus:i,setColumnHeaderFocus:l,setColumnHeaderFilterFocus:a},M={moveFocusToRelativeCell:d,setColumnGroupHeaderFocus:c,getColumnGroupHeaderFocus:u};Xe(e,P,"public"),Xe(e,M,"private"),p.useEffect(()=>{const I=Ft(e.current.rootElementRef.current);return I.addEventListener("mouseup",y),()=>{I.removeEventListener("mouseup",y)}},[e,o,y]),Ee(e,"columnHeaderBlur",C),Ee(e,"cellDoubleClick",f),Ee(e,"cellMouseDown",b),Ee(e,"cellKeyDown",h),Ee(e,"cellModeChange",w),Ee(e,"columnHeaderFocus",g),Ee(e,"columnGroupHeaderFocus",m),Ee(e,"rowsSet",S),Ee(e,"paginationModelChange",k)},Mv=({currentColIndex:e,firstColIndex:t,lastColIndex:n,isRtl:r})=>{if(r){if(et)return e-1;return null},Iv=({currentColIndex:e,firstColIndex:t,lastColIndex:n,isRtl:r})=>{if(r){if(e>t)return e-1}else if(!r&&e=0&&i(t.top||[]).concat(e.rows,t.bottom||[])),Fee=(e,t)=>{const n=Mn(e,"useGridKeyboardNavigation"),r=fs(),o=t.unstable_listView,s=p.useCallback(()=>$ee(e),[e]),i=t.signature!=="DataGrid"&&t.headerFilters,l=p.useCallback((b,y,w="left",S="up")=>{const k=ol(e),P=e.current.unstable_getCellColSpanInfo(y,b);P&&P.spannedByColSpan&&(w==="left"?b=P.leftVisibleCellIndex:w==="right"&&(b=P.rightVisibleCellIndex));const M=o?jc(e.current.state).field:uu(e)[b],I=Oee(e,y,M,S),E=k.findIndex(T=>T.id===I);n.debug(`Navigating to cell row ${E}, col ${b}`),e.current.scrollToIndexes({colIndex:b,rowIndex:E}),e.current.setCellFocus(I,M)},[e,n,o]),a=p.useCallback((b,y)=>{n.debug(`Navigating to header col ${b}`),e.current.scrollToIndexes({colIndex:b});const w=e.current.getVisibleColumns()[b].field;e.current.setColumnHeaderFocus(w,y)},[e,n]),c=p.useCallback((b,y)=>{n.debug(`Navigating to header filter col ${b}`),e.current.scrollToIndexes({colIndex:b});const w=e.current.getVisibleColumns()[b].field;e.current.setColumnHeaderFilterFocus(w,y)},[e,n]),u=p.useCallback((b,y,w)=>{n.debug(`Navigating to header col ${b}`),e.current.scrollToIndexes({colIndex:b});const{field:S}=e.current.getVisibleColumns()[b];e.current.setColumnGroupHeaderFocus(S,y,w)},[e,n]),d=p.useCallback(b=>{var y;return(y=s()[b])==null?void 0:y.id},[s]),f=p.useCallback((b,y)=>{const w=y.currentTarget.querySelector(`.${N.columnHeaderTitleContainerContent}`);if(!!w&&w.contains(y.target)&&b.field!==pu.field)return;const k=s(),P=e.current.getViewportPageSize(),M=b.field?e.current.getColumnIndex(b.field):0,I=k.length>0?0:null,E=k.length-1,T=0,D=qt(e).length-1,$=Zf(e);let L=!0;switch(y.key){case"ArrowDown":{i?c(M,y):I!==null&&l(M,d(I));break}case"ArrowRight":{const A=Iv({currentColIndex:M,firstColIndex:T,lastColIndex:D,isRtl:r});A!==null&&a(A,y);break}case"ArrowLeft":{const A=Mv({currentColIndex:M,firstColIndex:T,lastColIndex:D,isRtl:r});A!==null&&a(A,y);break}case"ArrowUp":{$>0&&u(M,$-1,y);break}case"PageDown":{I!==null&&E!==null&&l(M,d(Math.min(I+P,E)));break}case"Home":{a(T,y);break}case"End":{a(D,y);break}case"Enter":{(y.ctrlKey||y.metaKey)&&e.current.toggleColumnMenu(b.field);break}case" ":break;default:L=!1}L&&y.preventDefault()},[e,s,i,c,l,d,r,a,u]),h=p.useCallback((b,y)=>{const w=Bq(e)===b.field,S=Vq(e)===b.field;if(w||S||!Ig(y.key))return;const k=s(),P=e.current.getViewportPageSize(),M=b.field?e.current.getColumnIndex(b.field):0,I=0,E=k.length-1,T=0,D=qt(e).length-1;let $=!0;switch(y.key){case"ArrowDown":{const L=d(I);L!=null&&l(M,L);break}case"ArrowRight":{const L=Iv({currentColIndex:M,firstColIndex:T,lastColIndex:D,isRtl:r});L!==null&&c(L,y);break}case"ArrowLeft":{const L=Mv({currentColIndex:M,firstColIndex:T,lastColIndex:D,isRtl:r});L!==null?c(L,y):e.current.setColumnHeaderFilterFocus(b.field,y);break}case"ArrowUp":{a(M,y);break}case"PageDown":{E!==null&&l(M,d(Math.min(I+P,E)));break}case"Home":{c(T,y);break}case"End":{c(D,y);break}case" ":break;default:$=!1}$&&y.preventDefault()},[e,s,c,r,a,l,d]),g=p.useCallback((b,y)=>{const w=wg(e);if(w===null)return;const{field:S,depth:k}=w,{fields:P,depth:M,maxDepth:I}=b,E=s(),T=e.current.getViewportPageSize(),D=e.current.getColumnIndex(S),$=S?e.current.getColumnIndex(S):0,L=0,A=E.length-1,R=0,_=qt(e).length-1;let O=!0;switch(y.key){case"ArrowDown":{M===I-1?a(D,y):u(D,k+1,y);break}case"ArrowUp":{M>0&&u(D,k-1,y);break}case"ArrowRight":{const F=P.length-P.indexOf(S)-1;D+F+1<=_&&u(D+F+1,k,y);break}case"ArrowLeft":{const F=P.indexOf(S);D-F-1>=R&&u(D-F-1,k,y);break}case"PageDown":{A!==null&&l($,d(Math.min(L+T,A)));break}case"Home":{u(R,k,y);break}case"End":{u(_,k,y);break}case" ":break;default:O=!1}O&&y.preventDefault()},[e,s,a,u,l,d]),m=p.useCallback((b,y)=>{if(eh(y))return;const w=e.current.getCellParams(b.id,b.field);if(w.cellMode===Ct.Edit||!Ig(y.key)||!e.current.unstable_applyPipeProcessors("canUpdateFocus",!0,{event:y,cell:w}))return;const k=s();if(k.length===0)return;const P=e.current.getViewportPageSize(),M=o?()=>0:e.current.getColumnIndex,I=b.field?M(b.field):0,E=k.findIndex(_=>_.id===b.id),T=0,D=k.length-1,$=0,A=(o?[jc(e.current.state)]:qt(e)).length-1;let R=!0;switch(y.key){case"ArrowDown":{ET?l(I,d(E-1)):i?c(I,y):a(I,y);break}case"ArrowRight":{const _=Iv({currentColIndex:I,firstColIndex:$,lastColIndex:A,isRtl:r});_!==null&&l(_,d(E),r?"left":"right");break}case"ArrowLeft":{const _=Mv({currentColIndex:I,firstColIndex:$,lastColIndex:A,isRtl:r});_!==null&&l(_,d(E),r?"right":"left");break}case"Tab":{y.shiftKey&&I>$?l(I-1,d(E),"left"):!y.shiftKey&&I=T?l(I,d(_)):a(I,y);break}case"Home":{y.ctrlKey||y.metaKey||y.shiftKey?l($,d(T)):l($,d(E));break}case"End":{y.ctrlKey||y.metaKey||y.shiftKey?l(A,d(D)):l(A,d(E));break}default:R=!1}R&&y.preventDefault()},[e,s,r,l,d,i,c,a,o]),C=p.useCallback((b,{event:y})=>y.key===" "?!1:b,[]);Bt(e,"canStartEditing",C),Ee(e,"columnHeaderKeyDown",f),Ee(e,"headerFilterKeyDown",h),Ee(e,"columnGroupHeaderKeyDown",g),Ee(e,"cellKeyDown",m)},Lee=(e,t)=>{var g,m;const n=Mn(e,"useGridRowCount"),r=he(e,GC),o=he(e,Va),s=he(e,rd),i=he(e,Un),l=zo(()=>Un(e).pageSize);e.current.registerControlState({stateId:"paginationRowCount",propModel:t.rowCount,propOnChange:t.onRowCountChange,stateSelector:Va,changeEvent:"rowCountChange"});const c={setRowCount:p.useCallback(C=>{o!==C&&(n.debug("Setting 'rowCount' to",C),e.current.setState(b=>x({},b,{pagination:x({},b.pagination,{rowCount:C})})))},[e,n,o])};Xe(e,c,"public");const u=p.useCallback((C,b)=>{var S,k;const y=Va(e);return!b.exportOnlyDirtyModels||t.rowCount!=null||((k=(S=t.initialState)==null?void 0:S.pagination)==null?void 0:k.rowCount)!=null?x({},C,{pagination:x({},C.pagination,{rowCount:y})}):C},[e,t.rowCount,(m=(g=t.initialState)==null?void 0:g.pagination)==null?void 0:m.rowCount]),d=p.useCallback((C,b)=>{var w;const y=(w=b.stateToRestore.pagination)!=null&&w.rowCount?b.stateToRestore.pagination.rowCount:Va(e);return e.current.setState(S=>x({},S,{pagination:x({},S.pagination,{rowCount:y})})),C},[e]);Bt(e,"exportState",u),Bt(e,"restoreState",d);const f=p.useCallback(C=>{t.paginationMode==="client"||!l.current||C.pageSize!==l.current&&(l.current=C.pageSize,o===-1&&e.current.setPage(0))},[t.paginationMode,l,o,e]);Ee(e,"paginationModelChange",f),p.useEffect(()=>{t.paginationMode==="client"?e.current.setRowCount(r):t.rowCount!=null&&e.current.setRowCount(t.rowCount)},[e,t.paginationMode,r,t.rowCount]);const h=s.hasNextPage===!1;p.useEffect(()=>{h&&o===-1&&e.current.setRowCount(i.pageSize*i.page+r)},[e,r,h,o,i])},Dee=(e,t)=>{var a,c;const n=Mn(e,"useGridPaginationMeta"),r=he(e,rd);e.current.registerControlState({stateId:"paginationMeta",propModel:t.paginationMeta,propOnChange:t.onPaginationMetaChange,stateSelector:rd,changeEvent:"paginationMetaChange"});const s={setPaginationMeta:p.useCallback(u=>{r!==u&&(n.debug("Setting 'paginationMeta' to",u),e.current.setState(d=>x({},d,{pagination:x({},d.pagination,{meta:u})})))},[e,n,r])};Xe(e,s,"public");const i=p.useCallback((u,d)=>{var g,m;const f=rd(e);return!d.exportOnlyDirtyModels||t.paginationMeta!=null||((m=(g=t.initialState)==null?void 0:g.pagination)==null?void 0:m.meta)!=null?x({},u,{pagination:x({},u.pagination,{meta:f})}):u},[e,t.paginationMeta,(c=(a=t.initialState)==null?void 0:a.pagination)==null?void 0:c.meta]),l=p.useCallback((u,d)=>{var h;const f=(h=d.stateToRestore.pagination)!=null&&h.meta?d.stateToRestore.pagination.meta:rd(e);return e.current.setState(g=>x({},g,{pagination:x({},g.pagination,{meta:f})})),u},[e]);Bt(e,"exportState",i),Bt(e,"restoreState",l),p.useEffect(()=>{t.paginationMeta&&e.current.setPaginationMeta(t.paginationMeta)},[e,t.paginationMeta])},Aee=(e,t)=>{var s,i,l,a,c,u,d;const n=x({},d2(t.autoPageSize),t.paginationModel??((i=(s=t.initialState)==null?void 0:s.pagination)==null?void 0:i.paginationModel));f2(n.pageSize,t.signature);const r=t.rowCount??((a=(l=t.initialState)==null?void 0:l.pagination)==null?void 0:a.rowCount)??(t.paginationMode==="client"?(c=e.rows)==null?void 0:c.totalRowCount:void 0),o=t.paginationMeta??((d=(u=t.initialState)==null?void 0:u.pagination)==null?void 0:d.meta)??{};return x({},e,{pagination:x({},e.pagination,{paginationModel:n,rowCount:r,meta:o,enabled:t.pagination===!0,paginationMode:t.paginationMode})})},jee=(e,t)=>{Dee(e,t),wee(e,t),Lee(e,t)},zee=(e,t)=>{var n;return x({},e,{preferencePanel:((n=t.initialState)==null?void 0:n.preferencePanel)??{open:!1}})},Nee=(e,t)=>{var l;const n=Mn(e,"useGridPreferencesPanel"),r=p.useCallback(()=>{e.current.setState(a=>{if(!a.preferencePanel.open)return a;n.debug("Hiding Preferences Panel");const c=zc(a);return e.current.publishEvent("preferencePanelClose",{openedPanelValue:c.openedPanelValue}),x({},a,{preferencePanel:{open:!1}})})},[e,n]),o=p.useCallback((a,c,u)=>{n.debug("Opening Preferences Panel"),e.current.setState(d=>x({},d,{preferencePanel:x({},d.preferencePanel,{open:!0,openedPanelValue:a,panelId:c,labelId:u})})),e.current.publishEvent("preferencePanelOpen",{openedPanelValue:a})},[n,e]);Xe(e,{showPreferences:o,hidePreferences:r},"public");const s=p.useCallback((a,c)=>{var f;const u=zc(e.current.state);return!c.exportOnlyDirtyModels||((f=t.initialState)==null?void 0:f.preferencePanel)!=null||u.open?x({},a,{preferencePanel:u}):a},[e,(l=t.initialState)==null?void 0:l.preferencePanel]),i=p.useCallback((a,c)=>{const u=c.stateToRestore.preferencePanel;return u!=null&&e.current.setState(d=>x({},d,{preferencePanel:u})),a},[e]);Bt(e,"exportState",s),Bt(e,"restoreState",i)},xx=e=>{switch(e.type){case"boolean":return!1;case"date":case"dateTime":case"number":return;case"singleSelect":return null;case"string":default:return""}},Hee=["id","field"],Bee=["id","field"],Vee=(e,t)=>{const[n,r]=p.useState({}),o=p.useRef(n),s=p.useRef({}),{processRowUpdate:i,onProcessRowUpdateError:l,cellModesModel:a,onCellModesModelChange:c}=t,u=R=>(..._)=>{t.editMode===us.Cell&&R(..._)},d=p.useCallback((R,_)=>{const O=e.current.getCellParams(R,_);if(!e.current.isCellEditable(O))throw new Error(`MUI X: The cell with id=${R} and field=${_} is not editable.`)},[e]),f=p.useCallback((R,_,O)=>{if(e.current.getCellMode(R,_)!==O)throw new Error(`MUI X: The cell with id=${R} and field=${_} is not in ${O} mode.`)},[e]),h=p.useCallback((R,_)=>{if(!R.isEditable||R.cellMode===Ct.Edit)return;const O=x({},R,{reason:xs.cellDoubleClick});e.current.publishEvent("cellEditStart",O,_)},[e]),g=p.useCallback((R,_)=>{if(R.cellMode===Ct.View||e.current.getCellMode(R.id,R.field)===Ct.View)return;const O=x({},R,{reason:wo.cellFocusOut});e.current.publishEvent("cellEditStop",O,_)},[e]),m=p.useCallback((R,_)=>{if(R.cellMode===Ct.Edit){if(_.which===229)return;let O;if(_.key==="Escape"?O=wo.escapeKeyDown:_.key==="Enter"?O=wo.enterKeyDown:_.key==="Tab"&&(O=_.shiftKey?wo.shiftTabKeyDown:wo.tabKeyDown,_.preventDefault()),O){const F=x({},R,{reason:O});e.current.publishEvent("cellEditStop",F,_)}}else if(R.isEditable){let O;if(!e.current.unstable_applyPipeProcessors("canStartEditing",!0,{event:_,cellParams:R,editMode:"cell"}))return;if(G2(_)?O=xs.printableKeyDown:K2(_)?O=xs.pasteKeyDown:_.key==="Enter"?O=xs.enterKeyDown:(_.key==="Backspace"||_.key==="Delete")&&(O=xs.deleteKeyDown),O){const j=x({},R,{reason:O,key:_.key});e.current.publishEvent("cellEditStart",j,_)}}},[e]),C=p.useCallback(R=>{const{id:_,field:O,reason:F}=R,j={id:_,field:O};(F===xs.printableKeyDown||F===xs.deleteKeyDown||F===xs.pasteKeyDown)&&(j.deleteValue=!0),e.current.startCellEditMode(j)},[e]),b=p.useCallback(R=>{const{id:_,field:O,reason:F}=R;e.current.runPendingEditCellValueMutation(_,O);let j;F===wo.enterKeyDown?j="below":F===wo.tabKeyDown?j="right":F===wo.shiftTabKeyDown&&(j="left");const z=F==="escapeKeyDown";e.current.stopCellEditMode({id:_,field:O,ignoreModifications:z,cellToFocusAfter:j})},[e]),y=R=>async(..._)=>{var O;if(R){const{id:F,field:j}=_[0];((O=e.current.state.editRows[F][j])==null?void 0:O.error)||R(..._)}};Ee(e,"cellDoubleClick",u(h)),Ee(e,"cellFocusOut",u(g)),Ee(e,"cellKeyDown",u(m)),Ee(e,"cellEditStart",u(C)),Ee(e,"cellEditStop",u(b)),St(e,"cellEditStart",t.onCellEditStart),St(e,"cellEditStop",y(t.onCellEditStop));const w=p.useCallback((R,_)=>{const O=Cn(e.current.state);return O[R]&&O[R][_]?Ct.Edit:Ct.View},[e]),S=Ke(R=>{const _=R!==t.cellModesModel;c&&_&&c(R,{api:e.current}),!(t.cellModesModel&&_)&&(r(R),o.current=R,e.current.publishEvent("cellModesModelChange",R))}),k=p.useCallback((R,_,O)=>{const F=x({},o.current);if(O!==null)F[R]=x({},F[R],{[_]:x({},O)});else{const j=F[R],z=te(j,[_].map(nf));F[R]=z,Object.keys(F[R]).length===0&&delete F[R]}S(F)},[S]),P=p.useCallback((R,_,O)=>{e.current.setState(F=>{const j=x({},F.editRows);return O!==null?j[R]=x({},j[R],{[_]:x({},O)}):(delete j[R][_],Object.keys(j[R]).length===0&&delete j[R]),x({},F,{editRows:j})}),e.current.forceUpdate()},[e]),M=p.useCallback(R=>{const{id:_,field:O}=R,F=te(R,Hee);d(_,O),f(_,O,Ct.View),k(_,O,x({mode:Ct.Edit},F))},[d,f,k]),I=Ke(async R=>{const{id:_,field:O,deleteValue:F,initialValue:j}=R,z=e.current.getCellValue(_,O);let H=z;F?H=xx(e.current.getColumn(O)):j&&(H=j);const B=e.current.getColumn(O),G=!!B.preProcessEditCellProps&&F;let V={value:H,error:!1,isProcessingProps:G};if(P(_,O,V),e.current.setCellFocus(_,O),G&&(V=await Promise.resolve(B.preProcessEditCellProps({id:_,row:e.current.getRow(_),props:V,hasChanged:H!==z})),e.current.getCellMode(_,O)===Ct.Edit)){const Z=Cn(e.current.state);P(_,O,x({},V,{value:Z[_][O].value,isProcessingProps:!1}))}}),E=p.useCallback(R=>{const{id:_,field:O}=R,F=te(R,Bee);f(_,O,Ct.Edit),k(_,O,x({mode:Ct.View},F))},[f,k]),T=Ke(async R=>{const{id:_,field:O,ignoreModifications:F,cellToFocusAfter:j="none"}=R;f(_,O,Ct.Edit),e.current.runPendingEditCellValueMutation(_,O);const z=()=>{P(_,O,null),k(_,O,null),j!=="none"&&e.current.moveFocusToRelativeCell(_,O,j)};if(F){z();return}const H=Cn(e.current.state),{error:B,isProcessingProps:G}=H[_][O];if(B||G){s.current[_][O].mode=Ct.Edit,k(_,O,{mode:Ct.Edit});return}const V=e.current.getRowWithUpdatedValuesFromCellEditing(_,O);if(i){const Z=Q=>{s.current[_][O].mode=Ct.Edit,k(_,O,{mode:Ct.Edit}),l&&l(Q)};try{const Q=e.current.getRow(_);Promise.resolve(i(V,Q,{rowId:_})).then(U=>{e.current.updateRows([U]),z()}).catch(Z)}catch(Q){Z(Q)}}else e.current.updateRows([V]),z()}),D=p.useCallback(async R=>{var Q,U;const{id:_,field:O,value:F,debounceMs:j,unstable_skipValueParser:z}=R;d(_,O),f(_,O,Ct.Edit);const H=e.current.getColumn(O),B=e.current.getRow(_);let G=F;H.valueParser&&!z&&(G=H.valueParser(F,B,H,e));let V=Cn(e.current.state),Z=x({},V[_][O],{value:G,changeReason:j?"debouncedSetEditCellValue":"setEditCellValue"});if(H.preProcessEditCellProps){const K=F!==V[_][O].value;Z=x({},Z,{isProcessingProps:!0}),P(_,O,Z),Z=await Promise.resolve(H.preProcessEditCellProps({id:_,row:B,props:Z,hasChanged:K}))}return e.current.getCellMode(_,O)===Ct.View?!1:(V=Cn(e.current.state),Z=x({},Z,{isProcessingProps:!1}),Z.value=H.preProcessEditCellProps?V[_][O].value:G,P(_,O,Z),V=Cn(e.current.state),!((U=(Q=V[_])==null?void 0:Q[O])!=null&&U.error))},[e,d,f,P]),$=p.useCallback((R,_)=>{const O=e.current.getColumn(_),F=Cn(e.current.state),j=e.current.getRow(R);if(!F[R]||!F[R][_])return e.current.getRow(R);const{value:z}=F[R][_];return O.valueSetter?O.valueSetter(z,j,O,e):x({},j,{[_]:z})},[e]),L={getCellMode:w,startCellEditMode:M,stopCellEditMode:E},A={setCellEditingEditCellValue:D,getRowWithUpdatedValuesFromCellEditing:$};Xe(e,L,"public"),Xe(e,A,"private"),p.useEffect(()=>{a&&S(a)},[a,S]),Et(()=>{const R=to(e),_=s.current;s.current=zO(n),Object.entries(n).forEach(([O,F])=>{Object.entries(F).forEach(([j,z])=>{var G,V;const H=((V=(G=_[O])==null?void 0:G[j])==null?void 0:V.mode)||Ct.View,B=R[O]?e.current.getRowId(R[O]):O;z.mode===Ct.Edit&&H===Ct.View?I(x({id:B,field:j},z)):z.mode===Ct.View&&H===Ct.Edit&&T(x({id:B,field:j},z))})})},[e,n,I,T])},Wee=["id"],Gee=["id"],Uee=(e,t)=>{const[n,r]=p.useState({}),o=p.useRef(n),s=p.useRef({}),i=p.useRef({}),l=p.useRef(void 0),a=p.useRef(null),{processRowUpdate:c,onProcessRowUpdateError:u,rowModesModel:d,onRowModesModelChange:f}=t,h=z=>(...H)=>{t.editMode===us.Row&&z(...H)},g=p.useCallback((z,H)=>{const B=e.current.getCellParams(z,H);if(!e.current.isCellEditable(B))throw new Error(`MUI X: The cell with id=${z} and field=${H} is not editable.`)},[e]),m=p.useCallback((z,H)=>{if(e.current.getRowMode(z)!==H)throw new Error(`MUI X: The row with id=${z} is not in ${H} mode.`)},[e]),C=p.useCallback(z=>{const H=Cn(e.current.state);return Object.values(H[z]).some(B=>B.error)},[e]),b=p.useCallback((z,H)=>{if(!z.isEditable||e.current.getRowMode(z.id)===Dt.Edit)return;const B=e.current.getRowParams(z.id),G=x({},B,{field:z.field,reason:ii.cellDoubleClick});e.current.publishEvent("rowEditStart",G,H)},[e]),y=p.useCallback(z=>{a.current=z},[]),w=p.useCallback((z,H)=>{z.isEditable&&e.current.getRowMode(z.id)!==Dt.View&&(a.current=null,l.current=setTimeout(()=>{var B;if(((B=a.current)==null?void 0:B.id)!==z.id){if(!e.current.getRow(z.id)||e.current.getRowMode(z.id)===Dt.View||C(z.id))return;const G=e.current.getRowParams(z.id),V=x({},G,{field:z.field,reason:Go.rowFocusOut});e.current.publishEvent("rowEditStop",V,H)}}))},[e,C]);p.useEffect(()=>()=>{clearTimeout(l.current)},[]);const S=p.useCallback((z,H)=>{if(z.cellMode===Dt.Edit){if(H.which===229)return;let B;if(H.key==="Escape")B=Go.escapeKeyDown;else if(H.key==="Enter")B=Go.enterKeyDown;else if(H.key==="Tab"){const G=uu(e).filter(V=>e.current.getColumn(V).type===ub?!0:e.current.isCellEditable(e.current.getCellParams(z.id,V)));if(H.shiftKey?z.field===G[0]&&(B=Go.shiftTabKeyDown):z.field===G[G.length-1]&&(B=Go.tabKeyDown),H.preventDefault(),!B){const V=G.findIndex(Q=>Q===z.field),Z=G[H.shiftKey?V-1:V+1];e.current.setCellFocus(z.id,Z)}}if(B){if(B!==Go.escapeKeyDown&&C(z.id))return;const G=x({},e.current.getRowParams(z.id),{reason:B,field:z.field});e.current.publishEvent("rowEditStop",G,H)}}else if(z.isEditable){let B;if(!e.current.unstable_applyPipeProcessors("canStartEditing",!0,{event:H,cellParams:z,editMode:"row"}))return;if(G2(H)||K2(H)?B=ii.printableKeyDown:H.key==="Enter"?B=ii.enterKeyDown:(H.key==="Backspace"||H.key==="Delete")&&(B=ii.deleteKeyDown),B){const V=e.current.getRowParams(z.id),Z=x({},V,{field:z.field,reason:B});e.current.publishEvent("rowEditStart",Z,H)}}},[e,C]),k=p.useCallback(z=>{const{id:H,field:B,reason:G}=z,V={id:H,fieldToFocus:B};(G===ii.printableKeyDown||G===ii.deleteKeyDown)&&(V.deleteValue=!!B),e.current.startRowEditMode(V)},[e]),P=p.useCallback(z=>{const{id:H,reason:B,field:G}=z;e.current.runPendingEditCellValueMutation(H);let V;B===Go.enterKeyDown?V="below":B===Go.tabKeyDown?V="right":B===Go.shiftTabKeyDown&&(V="left");const Z=B==="escapeKeyDown";e.current.stopRowEditMode({id:H,ignoreModifications:Z,field:G,cellToFocusAfter:V})},[e]);Ee(e,"cellDoubleClick",h(b)),Ee(e,"cellFocusIn",h(y)),Ee(e,"cellFocusOut",h(w)),Ee(e,"cellKeyDown",h(S)),Ee(e,"rowEditStart",h(k)),Ee(e,"rowEditStop",h(P)),St(e,"rowEditStart",t.onRowEditStart),St(e,"rowEditStop",t.onRowEditStop);const M=p.useCallback(z=>D2(e,{rowId:z,editMode:t.editMode})?Dt.Edit:Dt.View,[e,t.editMode]),I=Ke(z=>{const H=z!==t.rowModesModel;f&&H&&f(z,{api:e.current}),!(t.rowModesModel&&H)&&(r(z),o.current=z,e.current.publishEvent("rowModesModelChange",z))}),E=p.useCallback((z,H)=>{const B=x({},o.current);H!==null?B[z]=x({},H):delete B[z],I(B)},[I]),T=p.useCallback((z,H)=>{e.current.setState(B=>{const G=x({},B.editRows);return H!==null?G[z]=H:delete G[z],x({},B,{editRows:G})}),e.current.forceUpdate()},[e]),D=p.useCallback((z,H,B)=>{e.current.setState(G=>{const V=x({},G.editRows);return B!==null?V[z]=x({},V[z],{[H]:x({},B)}):(delete V[z][H],Object.keys(V[z]).length===0&&delete V[z]),x({},G,{editRows:V})}),e.current.forceUpdate()},[e]),$=p.useCallback(z=>{const{id:H}=z,B=te(z,Wee);m(H,Dt.View),E(H,x({mode:Dt.Edit},B))},[m,E]),L=Ke(z=>{const{id:H,fieldToFocus:B,deleteValue:G,initialValue:V}=z,Z=e.current.getRow(H),Q=lo(e),U=Q.reduce((K,ee)=>{const de=ee.field;if(!e.current.getCellParams(H,de).isEditable)return K;const ge=e.current.getColumn(de);let q=e.current.getCellValue(H,de);return B===de&&(G||V)&&(G?q=xx(ge):V&&(q=V)),K[de]={value:q,error:!1,isProcessingProps:ge.editable&&!!ge.preProcessEditCellProps&&G},K},{});i.current[H]=Z,T(H,U),B&&e.current.setCellFocus(H,B),Q.filter(K=>e.current.getCellParams(H,K.field).isEditable&&K.editable&&!!K.preProcessEditCellProps&&G).forEach(K=>{const ee=K.field,de=e.current.getCellValue(H,ee),se=G?xx(K):V??de;Promise.resolve(K.preProcessEditCellProps({id:H,row:Z,props:U[ee],hasChanged:se!==de})).then(ge=>{if(e.current.getRowMode(H)===Dt.Edit){const q=Cn(e.current.state);D(H,ee,x({},ge,{value:q[H][ee].value,isProcessingProps:!1}))}})})}),A=p.useCallback(z=>{const{id:H}=z,B=te(z,Gee);m(H,Dt.Edit),E(H,x({mode:Dt.View},B))},[m,E]),R=Ke(z=>{const{id:H,ignoreModifications:B,field:G,cellToFocusAfter:V="none"}=z;e.current.runPendingEditCellValueMutation(H);const Z=()=>{V!=="none"&&G&&e.current.moveFocusToRelativeCell(H,G,V),T(H,null),E(H,null),delete i.current[H]};if(B){Z();return}const Q=Cn(e.current.state),U=i.current[H];if(Object.values(Q[H]).some(de=>de.isProcessingProps)){s.current[H].mode=Dt.Edit;return}if(C(H)){s.current[H].mode=Dt.Edit,E(H,{mode:Dt.Edit});return}const ee=e.current.getRowWithUpdatedValuesFromRowEditing(H);if(c){const de=se=>{s.current[H]&&(s.current[H].mode=Dt.Edit,E(H,{mode:Dt.Edit})),u&&u(se)};try{Promise.resolve(c(ee,U,{rowId:H})).then(se=>{e.current.updateRows([se]),Z()}).catch(de)}catch(se){de(se)}}else e.current.updateRows([ee]),Z()}),_=p.useCallback(z=>{const{id:H,field:B,value:G,debounceMs:V,unstable_skipValueParser:Z}=z;g(H,B);const Q=e.current.getColumn(B),U=e.current.getRow(H);let K=G;Q.valueParser&&!Z&&(K=Q.valueParser(G,U,Q,e));let ee=Cn(e.current.state),de=x({},ee[H][B],{value:K,changeReason:V?"debouncedSetEditCellValue":"setEditCellValue"});return Q.preProcessEditCellProps||D(H,B,de),new Promise(se=>{const ge=[];if(Q.preProcessEditCellProps){const q=de.value!==ee[H][B].value;de=x({},de,{isProcessingProps:!0}),D(H,B,de);const me=ee[H],ae=te(me,[B].map(nf)),ce=Promise.resolve(Q.preProcessEditCellProps({id:H,row:U,props:de,hasChanged:q,otherFieldsProps:ae})).then(ye=>{if(e.current.getRowMode(H)===Dt.View){se(!1);return}ee=Cn(e.current.state),ye=x({},ye,{isProcessingProps:!1}),ye.value=Q.preProcessEditCellProps?ee[H][B].value:K,D(H,B,ye)});ge.push(ce)}Object.entries(ee[H]).forEach(([q,me])=>{if(q===B)return;const ae=e.current.getColumn(q);if(!ae.preProcessEditCellProps)return;me=x({},me,{isProcessingProps:!0}),D(H,q,me),ee=Cn(e.current.state);const ce=ee[H],ye=te(ce,[q].map(nf)),ne=Promise.resolve(ae.preProcessEditCellProps({id:H,row:U,props:me,hasChanged:!1,otherFieldsProps:ye})).then(Oe=>{if(e.current.getRowMode(H)===Dt.View){se(!1);return}Oe=x({},Oe,{isProcessingProps:!1}),D(H,q,Oe)});ge.push(ne)}),Promise.all(ge).then(()=>{e.current.getRowMode(H)===Dt.Edit?(ee=Cn(e.current.state),se(!ee[H][B].error)):se(!1)})})},[e,g,D]),O=p.useCallback(z=>{const H=Cn(e.current.state),B=e.current.getRow(z);if(!H[z])return e.current.getRow(z);let G=x({},i.current[z],B);return Object.entries(H[z]).forEach(([V,Z])=>{const Q=e.current.getColumn(V);Q!=null&&Q.valueSetter?G=Q.valueSetter(Z.value,G,Q,e):G[V]=Z.value}),G},[e]),F={getRowMode:M,startRowEditMode:$,stopRowEditMode:A},j={setRowEditingEditCellValue:_,getRowWithUpdatedValuesFromRowEditing:O};Xe(e,F,"public"),Xe(e,j,"private"),p.useEffect(()=>{d&&I(d)},[d,I]),Et(()=>{const z=to(e),H=s.current;s.current=zO(n);const B=new Set([...Object.keys(n),...Object.keys(H)]);Array.from(B).forEach(G=>{var U;const V=n[G]??{mode:Dt.View},Z=((U=H[G])==null?void 0:U.mode)||Dt.View,Q=z[G]?e.current.getRowId(z[G]):G;V.mode===Dt.Edit&&Z===Dt.View?L(x({id:Q},V)):V.mode===Dt.View&&Z===Dt.Edit&&R(x({id:Q},V))})},[e,n,L,R])},Kee=e=>x({},e,{editRows:{}}),qee=(e,t)=>{Vee(e,t),Uee(e,t);const n=p.useRef({}),{isCellEditable:r}=t,o=p.useCallback(f=>Dc(f.rowNode)||!f.colDef.editable||!f.colDef.renderEditCell?!1:r?r(f):!0,[r]),s=(f,h,g,m)=>{if(!g){m();return}if(n.current[f]||(n.current[f]={}),n.current[f][h]){const[y]=n.current[f][h];clearTimeout(y)}const C=()=>{const[y]=n.current[f][h];clearTimeout(y),m(),delete n.current[f][h]},b=setTimeout(()=>{m(),delete n.current[f][h]},g);n.current[f][h]=[b,C]};p.useEffect(()=>{const f=n.current;return()=>{Object.entries(f).forEach(([h,g])=>{Object.keys(g).forEach(m=>{const[C]=f[h][m];clearTimeout(C),delete f[h][m]})})}},[]);const i=p.useCallback((f,h)=>{if(n.current[f]){if(!h)Object.keys(n.current[f]).forEach(g=>{const[,m]=n.current[f][g];m()});else if(n.current[f][h]){const[,g]=n.current[f][h];g()}}},[]),l=p.useCallback(f=>{const{id:h,field:g,debounceMs:m}=f;return new Promise(C=>{s(h,g,m,async()=>{const b=t.editMode===us.Row?e.current.setRowEditingEditCellValue:e.current.setCellEditingEditCellValue;if(e.current.getCellMode(h,g)===Ct.Edit){const y=await b(f);C(y)}})})},[e,t.editMode]),a=p.useCallback((f,h)=>t.editMode===us.Cell?e.current.getRowWithUpdatedValuesFromCellEditing(f,h):e.current.getRowWithUpdatedValuesFromRowEditing(f),[e,t.editMode]),c=p.useCallback((f,h)=>{var m;return((m=Cn(e.current.state)[f])==null?void 0:m[h])??null},[e]),u={isCellEditable:o,setEditCellValue:l,getRowWithUpdatedValues:a,unstable_getEditCellMeta:c},d={runPendingEditCellValueMutation:i};Xe(e,u,"public"),Xe(e,d,"private")},Xee=(e,t,n)=>{const r=!!t.unstable_dataSource;return n.current.caches.rows=vp({rows:r?[]:t.rows,getRowId:t.getRowId,loading:t.loading,rowCount:t.rowCount}),x({},e,{rows:QO({apiRef:n,rowCountProp:t.rowCount,loadingProp:r?!0:t.loading,previousTree:null,previousTreeDepths:null})})},Yee=(e,t)=>{const n=Mn(e,"useGridRows"),r=p.useRef(Date.now()),o=p.useRef(t.rowCount),s=pr(),i=p.useCallback(R=>{const _=to(e)[R];if(_)return _;const O=e.current.getRowNode(R);return O&&Dc(O)?{[Lc]:R}:null},[e]),l=p.useCallback(R=>Qf(e.current.state,R),[e]),a=p.useCallback(({cache:R,throttle:_})=>{const O=()=>{r.current=Date.now(),e.current.setState(j=>x({},j,{rows:QO({apiRef:e,rowCountProp:t.rowCount,loadingProp:t.loading,previousTree:mn(e),previousTreeDepths:vP(e),previousGroupsToFetch:j7(e)})})),e.current.publishEvent("rowsSet"),e.current.forceUpdate()};if(s.clear(),e.current.caches.rows=R,!_){O();return}const F=t.throttleRowsMs-(Date.now()-r.current);if(F>0){s.start(F,O);return}O()},[t.throttleRowsMs,t.rowCount,t.loading,e,s]),c=p.useCallback(R=>{n.debug(`Updating all rows, new length ${R.length}`);const _=vp({rows:R,getRowId:t.getRowId,loading:t.loading,rowCount:t.rowCount}),O=e.current.caches.rows;_.rowsBeforePartialUpdates=O.rowsBeforePartialUpdates,a({cache:_,throttle:!0})},[n,t.getRowId,t.loading,t.rowCount,a,e]),u=p.useCallback(R=>{if(t.signature===io.DataGrid&&R.length>1)throw new Error(["MUI X: You cannot update several rows at once in `apiRef.current.updateRows` on the DataGrid.","You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature."].join(`
+`));const _=_P(e,R,t.getRowId),O=EP({updates:_,getRowId:t.getRowId,previousCache:e.current.caches.rows});a({cache:O,throttle:!0})},[t.signature,t.getRowId,a,e]),d=p.useCallback((R,_)=>{const O=_P(e,R,t.getRowId),F=EP({updates:O,getRowId:t.getRowId,previousCache:e.current.caches.rows,groupKeys:_??[]});a({cache:F,throttle:!1})},[t.getRowId,a,e]),f=p.useCallback(R=>{R!==t.loading&&(n.debug(`Setting loading to ${R}`),e.current.setState(_=>x({},_,{rows:x({},_.rows,{loading:R})})),e.current.caches.rows.loadingPropBeforePartialUpdates=R)},[t.loading,e,n]),h=p.useCallback(()=>{const R=nd(e),_=to(e);return new Map(R.map(O=>[O,_[O]??{}]))},[e]),g=p.useCallback(()=>Kf(e),[e]),m=p.useCallback(()=>nd(e),[e]),C=p.useCallback(R=>{const _=e.current.getRow(R),{rowToIndexMap:O}=Gi(e);return O.get(_)},[e]),b=p.useCallback((R,_)=>{const O=e.current.getRowNode(R);if(!O)throw new Error(`MUI X: No row with id #${R} found.`);if(O.type!=="group")throw new Error("MUI X: Only group nodes can be expanded or collapsed.");const F=x({},O,{childrenExpanded:_});e.current.setState(j=>x({},j,{rows:x({},j.rows,{tree:x({},j.rows.tree,{[R]:F})})})),e.current.forceUpdate(),e.current.publishEvent("rowExpansionChange",F)},[e]),y=p.useCallback(R=>mn(e)[R]??null,[e]),w=p.useCallback(({skipAutoGeneratedRows:R=!0,groupId:_,applySorting:O,applyFiltering:F})=>{const j=mn(e);let z;if(O){const H=j[_];if(!H)return[];const B=fu(e);z=[];const G=B.findIndex(V=>V===_)+1;for(let V=G;VH.depth;V+=1){const Z=B[V];(!R||!Dc(j[Z]))&&z.push(Z)}}else z=BC(j,_,R);if(F){const H=hu(e);z=z.filter(B=>H[B]!==!1)}return z},[e]),S=p.useCallback((R,_)=>{const O=e.current.getRowNode(R);if(!O)throw new Error(`MUI X: No row with id #${R} found.`);if(O.parent!==jn)throw new Error("MUI X: The row reordering do not support reordering of grouped rows yet.");if(O.type!=="leaf")throw new Error("MUI X: The row reordering do not support reordering of footer or grouping rows.");e.current.setState(F=>{const j=mn(F,e.current.instanceId)[jn],z=j.children,H=z.findIndex(G=>G===R);if(H===-1||H===_)return F;n.debug(`Moving row ${R} to index ${_}`);const B=[...z];return B.splice(_,0,B.splice(H,1)[0]),x({},F,{rows:x({},F.rows,{tree:x({},F.rows.tree,{[jn]:x({},j,{children:B})})})})}),e.current.publishEvent("rowsSet")},[e,n]),k=p.useCallback((R,_)=>{if(t.signature===io.DataGrid&&_.length>1)throw new Error(["MUI X: You cannot replace rows using `apiRef.current.unstable_replaceRows` on the DataGrid.","You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature."].join(`
+`));if(_.length===0)return;if(la(e)>1)throw new Error("`apiRef.current.unstable_replaceRows` is not compatible with tree data and row grouping");const F=x({},mn(e)),j=x({},to(e)),z=x({},bP(e)),H=F[jn],B=[...H.children],G=new Set;for(let Z=0;Z<_.length;Z+=1){const Q=_[Z],U=db(Q,t.getRowId,"A row was provided without id when calling replaceRows()."),[K]=B.splice(R+Z,1,U);G.has(K)||(delete j[K],delete z[K],delete F[K]);const ee={id:U,depth:0,parent:jn,type:"leaf",groupingKey:null};j[U]=Q,z[U]=U,F[U]=ee,G.add(U)}F[jn]=x({},H,{children:B});const V=B.filter(Z=>{var Q;return((Q=F[Z])==null?void 0:Q.type)==="leaf"});e.current.caches.rows.dataRowIdToModelLookup=j,e.current.caches.rows.dataRowIdToIdLookup=z,e.current.setState(Z=>x({},Z,{rows:x({},Z.rows,{dataRowIdToModelLookup:j,dataRowIdToIdLookup:z,dataRowIds:V,tree:F})})),e.current.publishEvent("rowsSet")},[e,t.signature,t.getRowId]),P={getRow:i,setLoading:f,getRowId:l,getRowModels:h,getRowsCount:g,getAllRowIds:m,setRows:c,updateRows:u,getRowNode:y,getRowIndexRelativeToVisibleRows:C,unstable_replaceRows:k},M={setRowIndex:S,setRowChildrenExpansion:b,getRowGroupChildren:w},I={updateServerRows:d},E=p.useCallback(()=>{n.info("Row grouping pre-processing have changed, regenerating the row tree");let R;e.current.caches.rows.rowsBeforePartialUpdates===t.rows?R=x({},e.current.caches.rows,{updates:{type:"full",rows:nd(e)}}):R=vp({rows:t.rows,getRowId:t.getRowId,loading:t.loading,rowCount:t.rowCount}),a({cache:R,throttle:!1})},[n,e,t.rows,t.getRowId,t.loading,t.rowCount,a]),T=zo(()=>t.unstable_dataSource),D=p.useCallback(R=>{if(t.unstable_dataSource&&t.unstable_dataSource!==T.current){T.current=t.unstable_dataSource;return}R==="rowTreeCreation"&&E()},[E,T,t.unstable_dataSource]),$=p.useCallback(()=>{e.current.getActiveStrategy("rowTree")!==z7(e)&&E()},[e,E]);Ee(e,"activeStrategyProcessorChange",D),Ee(e,"strategyAvailabilityChange",$);const L=p.useCallback(()=>{e.current.setState(R=>{const _=e.current.unstable_applyPipeProcessors("hydrateRows",{tree:mn(R,e.current.instanceId),treeDepths:vP(R,e.current.instanceId),dataRowIds:nd(R,e.current.instanceId),dataRowIdToModelLookup:to(R,e.current.instanceId),dataRowIdToIdLookup:bP(R,e.current.instanceId)});return x({},R,{rows:x({},R.rows,_,{totalTopLevelRowCount:YO({tree:_.tree,rowCountProp:t.rowCount})})})}),e.current.publishEvent("rowsSet"),e.current.forceUpdate()},[e,t.rowCount]);iw(e,"hydrateRows",L),Xe(e,P,"public"),Xe(e,M,t.signature===io.DataGrid?"private":"public"),Xe(e,I,"private");const A=p.useRef(!0);p.useEffect(()=>{var j;if(A.current){A.current=!1;return}let R=!1;t.rowCount!==o.current&&(R=!0,o.current=t.rowCount);const _=e.current.caches.rows.rowsBeforePartialUpdates===t.rows,O=e.current.caches.rows.loadingPropBeforePartialUpdates===t.loading,F=e.current.caches.rows.rowCountPropBeforePartialUpdates===t.rowCount;_&&(O||(e.current.setState(z=>x({},z,{rows:x({},z.rows,{loading:t.loading})})),e.current.caches.rows.loadingPropBeforePartialUpdates=t.loading,e.current.forceUpdate()),F||(e.current.setState(z=>x({},z,{rows:x({},z.rows,{totalRowCount:Math.max(t.rowCount||0,z.rows.totalRowCount),totalTopLevelRowCount:Math.max(t.rowCount||0,z.rows.totalTopLevelRowCount)})})),e.current.caches.rows.rowCountPropBeforePartialUpdates=t.rowCount,e.current.forceUpdate()),!R)||(n.debug(`Updating all rows, new length ${(j=t.rows)==null?void 0:j.length}`),a({cache:vp({rows:t.rows,getRowId:t.getRowId,loading:t.loading,rowCount:t.rowCount}),throttle:!1}))},[t.rows,t.rowCount,t.getRowId,t.loading,n,a,e])},Qee=e=>{const t={[jn]:x({},xK(),{children:e})};for(let n=0;n{const n=x({},e),r={};for(let i=0;i!r[i])),n[jn]=x({},o,{children:s}),{groupingName:Zl,tree:n,treeDepths:{0:s.length},dataRowIds:s}},Jee=e=>e.updates.type==="full"?Qee(e.updates.rows):Zee({previousTree:e.previousTree,actions:e.updates.actions}),ete=e=>{Tg(e,Zl,"rowTreeCreation",Jee)};class Ev extends Error{}function tte(e,t){var g;const n=p.useCallback(m=>({field:m,colDef:e.current.getColumn(m)}),[e]),r=p.useCallback(m=>{const C=e.current.getRow(m);if(!C)throw new Ev(`No row with id #${m} found`);return{id:m,columns:e.current.getAllColumns(),row:C}},[e]),o=p.useCallback((m,C,b,{cellMode:y,colDef:w,hasFocus:S,rowNode:k,tabIndex:P})=>{const M=b[C],I=w!=null&&w.valueGetter?w.valueGetter(M,b,w,e):M,E={id:m,field:C,row:b,rowNode:k,colDef:w,cellMode:y,hasFocus:S,tabIndex:P,value:I,formattedValue:I,isEditable:!1,api:e.current};return w&&w.valueFormatter&&(E.formattedValue=w.valueFormatter(I,b,w,e)),E.isEditable=w&&e.current.isCellEditable(E),E},[e]),s=p.useCallback((m,C)=>{var P;const b=e.current.getRow(m),y=e.current.getRowNode(m);if(!b||!y)throw new Ev(`No row with id #${m} found`);const w=cr(e),S=qC(e),k=e.current.getCellMode(m,C);return e.current.getCellParamsForRow(m,C,b,{colDef:t.unstable_listView&&((P=t.unstable_listColumn)==null?void 0:P.field)===C?jc(e.current.state):e.current.getColumn(C),rowNode:y,hasFocus:w!==null&&w.field===C&&w.id===m,tabIndex:S&&S.field===C&&S.id===m?0:-1,cellMode:k})},[e,t.unstable_listView,(g=t.unstable_listColumn)==null?void 0:g.field]),i=p.useCallback((m,C)=>{const b=e.current.getColumn(C),y=e.current.getRow(m);if(!y)throw new Ev(`No row with id #${m} found`);return!b||!b.valueGetter?y[C]:b.valueGetter(y[b.field],y,b,e)},[e]),l=p.useCallback((m,C)=>{const b=C.field;if(!C||!C.valueGetter)return m[b];const y=m[C.field];return C.valueGetter(y,m,C,e)},[e]),a=p.useCallback((m,C)=>{const b=l(m,C);return!C||!C.valueFormatter?b:C.valueFormatter(b,m,C,e)},[e,l]),c=p.useCallback(m=>e.current.rootElementRef.current?JY(e.current.rootElementRef.current,m):null,[e]),u=p.useCallback(m=>e.current.rootElementRef.current?eQ(e.current.rootElementRef.current,m):null,[e]),d=p.useCallback((m,C)=>e.current.rootElementRef.current?tQ(e.current.rootElementRef.current,{id:m,field:C}):null,[e]),f={getCellValue:i,getCellParams:s,getCellElement:d,getRowValue:l,getRowFormattedValue:a,getRowParams:r,getRowElement:u,getColumnHeaderParams:n,getColumnHeaderElement:c},h={getCellParamsForRow:o};Xe(e,f,"public"),Xe(e,h,"private")}const J2=(e,t)=>e==null||Array.isArray(e)?e:t&&t[0]===e?t:[e],nte=(e,t)=>x({},e,{rowSelection:t.rowSelection?J2(t.rowSelectionModel)??[]:[]}),rte=(e,t)=>{var F,j,z,H,B,G,V,Z,Q;const n=Mn(e,"useGridSelection"),r=p.useCallback(U=>(...K)=>{t.rowSelection&&U(...K)},[t.rowSelection]),o=t.signature!==io.DataGrid&&(((F=t.rowSelectionPropagation)==null?void 0:F.parents)||((j=t.rowSelectionPropagation)==null?void 0:j.descendants)),s=p.useMemo(()=>J2(t.rowSelectionModel,_r(e.current.state)),[e,t.rowSelectionModel]),i=p.useRef(null);e.current.registerControlState({stateId:"rowSelection",propModel:s,propOnChange:t.onRowSelectionModelChange,stateSelector:_r,changeEvent:"rowSelectionChange"});const{checkboxSelection:l,disableRowSelectionOnClick:a,isRowSelectable:c}=t,u=KC(t),d=he(e,mn),f=he(e,la)>1,h=p.useCallback(U=>{let K=U;const ee=i.current??U,de=e.current.isRowSelected(U);if(de){const se=nc(e),ge=se.findIndex(me=>me===ee),q=se.findIndex(me=>me===K);if(ge===q)return;ge>q?K=se[q+1]:K=se[q-1]}i.current=U,e.current.selectRowRange({startId:ee,endId:K},!de)},[e]),g=p.useCallback(U=>{if(t.signature===io.DataGrid&&!u&&Array.isArray(U)&&U.length>1)throw new Error(["MUI X: `rowSelectionModel` can only contain 1 item in DataGrid.","You need to upgrade to DataGridPro or DataGridPremium component to unlock multiple selection."].join(`
+`));_r(e.current.state)!==U&&(n.debug("Setting selection model"),e.current.setState(ee=>x({},ee,{rowSelection:t.rowSelection?U:[]})),e.current.forceUpdate())},[e,n,t.rowSelection,t.signature,u]),m=p.useCallback(U=>_r(e.current.state).includes(U),[e]),C=p.useCallback(U=>{if(t.rowSelection===!1||c&&!c(e.current.getRowParams(U)))return!1;const K=mn(e)[U];return!((K==null?void 0:K.type)==="footer"||(K==null?void 0:K.type)==="pinnedRow")},[e,t.rowSelection,c]),b=p.useCallback(()=>VK(e),[e]),y=p.useCallback((U,K=!0,ee=!1)=>{var de,se,ge,q,me,ae;if(e.current.isRowSelectable(U))if(i.current=U,ee){n.debug(`Setting selection for row ${U}`);const ce=[],ye=ne=>{ce.push(ne)};K&&(ye(U),o&&Nu(e,d,U,((de=t.rowSelectionPropagation)==null?void 0:de.descendants)??!1,((se=t.rowSelectionPropagation)==null?void 0:se.parents)??!1,ye)),e.current.setRowSelectionModel(ce)}else{n.debug(`Toggling selection for row ${U}`);const ce=_r(e.current.state),ye=new Set(ce);ye.delete(U);const ne=Pe=>{ye.add(Pe)},Oe=Pe=>{ye.delete(Pe)};K?(ne(U),o&&Nu(e,d,U,((ge=t.rowSelectionPropagation)==null?void 0:ge.descendants)??!1,((q=t.rowSelectionPropagation)==null?void 0:q.parents)??!1,ne)):o&&TP(e,d,U,((me=t.rowSelectionPropagation)==null?void 0:me.descendants)??!1,((ae=t.rowSelectionPropagation)==null?void 0:ae.parents)??!1,Oe),(ye.size<2||u)&&e.current.setRowSelectionModel(Array.from(ye))}},[e,n,o,d,(z=t.rowSelectionPropagation)==null?void 0:z.descendants,(H=t.rowSelectionPropagation)==null?void 0:H.parents,u]),w=p.useCallback((U,K=!0,ee=!1)=>{n.debug("Setting selection for several rows");const de=U.filter(q=>e.current.isRowSelectable(q));let se;if(ee){if(K){if(se=new Set(de),o){const me=ae=>{se.add(ae)};de.forEach(ae=>{var ce,ye;Nu(e,d,ae,((ce=t.rowSelectionPropagation)==null?void 0:ce.descendants)??!1,((ye=t.rowSelectionPropagation)==null?void 0:ye.parents)??!1,me)})}}else se=new Set;const q=Wi(e);if(se.size===Object.keys(q).length&&Array.from(se).every(me=>q[me]===me))return}else{se=new Set(Object.values(Wi(e)));const q=ae=>{se.add(ae)},me=ae=>{se.delete(ae)};de.forEach(ae=>{var ce,ye,ne,Oe;K?(se.add(ae),o&&Nu(e,d,ae,((ce=t.rowSelectionPropagation)==null?void 0:ce.descendants)??!1,((ye=t.rowSelectionPropagation)==null?void 0:ye.parents)??!1,q)):(me(ae),o&&TP(e,d,ae,((ne=t.rowSelectionPropagation)==null?void 0:ne.descendants)??!1,((Oe=t.rowSelectionPropagation)==null?void 0:Oe.parents)??!1,me))})}(se.size<2||u)&&e.current.setRowSelectionModel(Array.from(se))},[n,o,u,e,d,(B=t.rowSelectionPropagation)==null?void 0:B.descendants,(G=t.rowSelectionPropagation)==null?void 0:G.parents]),S=p.useCallback(U=>{var de,se;if(!f||!o||U.length===0)return U;const K=new Set(U),ee=ge=>{K.add(ge)};for(const ge of U)Nu(e,d,ge,((de=t.rowSelectionPropagation)==null?void 0:de.descendants)??!1,((se=t.rowSelectionPropagation)==null?void 0:se.parents)??!1,ee,K);return Array.from(K)},[e,d,(V=t.rowSelectionPropagation)==null?void 0:V.descendants,(Z=t.rowSelectionPropagation)==null?void 0:Z.parents,f,o]),k=p.useCallback(({startId:U,endId:K},ee=!0,de=!1)=>{if(!e.current.getRow(U)||!e.current.getRow(K))return;n.debug(`Expanding selection from row ${U} to row ${K}`);const se=nc(e),ge=se.indexOf(U),q=se.indexOf(K),[me,ae]=ge>q?[q,ge]:[ge,q],ce=se.slice(me,ae+1);e.current.selectRows(ce,ee,de)},[e,n]),P={selectRow:y,setRowSelectionModel:g,getSelectedRows:b,isRowSelected:m,isRowSelectable:C},M={selectRows:w,selectRowRange:k,getPropagatedRowSelectionModel:S};Xe(e,P,"public"),Xe(e,M,t.signature===io.DataGrid?"private":"public");const I=p.useRef(!0),E=p.useCallback((U=!1)=>{var ae;if(I.current)return;const K=_r(e.current.state),ee=to(e),de=hu(e),se=x({},Wi(e)),ge=ce=>t.filterMode==="server"?!ee[ce]:!ee[ce]||de[ce]===!1;let q=!1;K.forEach(ce=>{var ne;if(ge(ce)){if(t.keepNonExistentRowsSelected)return;delete se[ce],q=!0;return}if(!((ne=t.rowSelectionPropagation)!=null&&ne.parents))return;const ye=d[ce];if(ye.type==="group"){if(ye.isAutoGenerated){delete se[ce],q=!0;return}ye.children.every(_e=>de[_e]===!1)||(delete se[ce],q=!0)}});const me=f&&((ae=t.rowSelectionPropagation)==null?void 0:ae.parents)&&Object.keys(se).length>0;if(q||me&&!U){const ce=Object.values(se);me?e.current.selectRows(ce,!0,!0):e.current.setRowSelectionModel(ce)}},[e,f,(Q=t.rowSelectionPropagation)==null?void 0:Q.parents,t.keepNonExistentRowsSelected,t.filterMode,d]),T=p.useCallback((U,K)=>{const ee=K.metaKey||K.ctrlKey,de=!l&&!ee&&!eZ(K),se=!u||de,ge=e.current.isRowSelected(U);se?e.current.selectRow(U,de?!0:!ge,!0):e.current.selectRow(U,!ge,!1)},[e,u,l]),D=p.useCallback((U,K)=>{var se;if(a)return;const ee=(se=K.target.closest(`.${N.cell}`))==null?void 0:se.getAttribute("data-field");if(ee===pu.field||ee===fb)return;if(ee){const ge=e.current.getColumn(ee);if((ge==null?void 0:ge.type)===ub)return}mn(e)[U.id].type!=="pinnedRow"&&(K.shiftKey&&u?h(U.id):T(U.id,K))},[a,u,e,h,T]),$=p.useCallback((U,K)=>{var ee;u&&K.shiftKey&&((ee=window.getSelection())==null||ee.removeAllRanges())},[u]),L=p.useCallback((U,K)=>{u&&K.nativeEvent.shiftKey?h(U.id):e.current.selectRow(U.id,U.value,!u)},[e,h,u]),A=p.useCallback(U=>{const K=t.pagination&&t.checkboxSelectionVisibleOnly&&t.paginationMode==="client"?m2(e):nc(e);e.current.selectRows(K,U.value)},[e,t.checkboxSelectionVisibleOnly,t.pagination,t.paginationMode]),R=p.useCallback((U,K)=>{if(e.current.getCellMode(U.id,U.field)!==Ct.Edit&&!eh(K)){if(Ig(K.key)&&K.shiftKey){const ee=cr(e);if(ee&&ee.id!==U.id){K.preventDefault();const de=e.current.isRowSelected(ee.id);if(!u){e.current.selectRow(ee.id,!de,!0);return}const se=e.current.getRowIndexRelativeToVisibleRows(ee.id),ge=e.current.getRowIndexRelativeToVisibleRows(U.id);let q,me;se>ge?de?(q=ge,me=se-1):(q=ge,me=se):de?(q=se+1,me=ge):(q=se,me=ge);const ce=Gi(e).rows.slice(q,me+1).map(ye=>ye.id);e.current.selectRows(ce,!de);return}}if(K.key===" "&&K.shiftKey){K.preventDefault(),T(U.id,K);return}String.fromCharCode(K.keyCode)==="A"&&(K.ctrlKey||K.metaKey)&&(K.preventDefault(),w(e.current.getAllRowIds(),!0))}},[e,T,w,u]),_=Ke(()=>{if(!t.rowSelection){e.current.setRowSelectionModel([]);return}if(s===void 0)return;if(!o||!f||s.length===0){e.current.setRowSelectionModel(s);return}const U=e.current.getPropagatedRowSelectionModel(s);if(U.length!==s.length||!U.every(K=>s.includes(K))){e.current.setRowSelectionModel(U);return}e.current.setRowSelectionModel(s)});Ee(e,"sortedRowsSet",r(()=>E(!0))),Ee(e,"filteredRowsSet",r(()=>E())),Ee(e,"rowClick",r(D)),Ee(e,"rowSelectionCheckboxChange",r(L)),Ee(e,"headerSelectionCheckboxChange",A),Ee(e,"cellMouseDown",r($)),Ee(e,"cellKeyDown",r(R)),p.useEffect(()=>{_()},[e,s,t.rowSelection,_]);const O=s!=null;p.useEffect(()=>{if(O||!t.rowSelection)return;const U=_r(e.current.state);if(C){const K=U.filter(ee=>C(ee));K.length{if(!t.rowSelection||O)return;const U=_r(e.current.state);!u&&U.length>1&&e.current.setRowSelectionModel([])},[e,u,l,O,t.rowSelection]),p.useEffect(()=>{r(E)},[E,r]),p.useEffect(()=>{I.current&&(I.current=!1)},[])},ote=e=>{const{classes:t}=e;return p.useMemo(()=>ve({cellCheckbox:["cellCheckbox"],columnHeaderCheckbox:["columnHeaderCheckbox"]},et,t),[t])},ste=(e,t)=>{const n={classes:t.classes},r=ote(n),o=p.useCallback(s=>{const i=x({},pu,{cellClassName:r.cellCheckbox,headerClassName:r.columnHeaderCheckbox,headerName:e.current.getLocaleText("checkboxSelectionHeaderName")}),l=t.checkboxSelection,a=s.lookup[Wr]!=null;return l&&!a?(s.lookup[Wr]=i,s.orderedFields=[Wr,...s.orderedFields]):!l&&a?(delete s.lookup[Wr],s.orderedFields=s.orderedFields.filter(c=>c!==Wr)):l&&a&&(s.lookup[Wr]=x({},i,s.lookup[Wr]),t.columns.some(c=>c.field===Wr)||(s.orderedFields=[Wr,...s.orderedFields.filter(c=>c!==Wr)])),s},[e,r,t.columns,t.checkboxSelection]);Bt(e,"hydrateColumns",o)},ite=(e,t)=>{var r,o;const n=t.sortModel??((o=(r=t.initialState)==null?void 0:r.sorting)==null?void 0:o.sortModel)??[];return x({},e,{sorting:{sortModel:DO(n,t.disableMultipleColumnsSorting),sortedRows:[]}})},lte=(e,t)=>{var k,P;const n=Mn(e,"useGridSorting");e.current.registerControlState({stateId:"sortModel",propModel:t.sortModel,propOnChange:t.onSortModelChange,stateSelector:So,changeEvent:"sortModelChange"});const r=p.useCallback((M,I)=>{const E=So(e),T=E.findIndex($=>$.field===M);let D=[...E];return T>-1?(I==null?void 0:I.sort)==null?D.splice(T,1):D.splice(T,1,I):D=[...E,I],D},[e]),o=p.useCallback((M,I)=>{const T=So(e).find(D=>D.field===M.field);if(T){const D=I===void 0?xP(M.sortingOrder??t.sortingOrder,T.sort):I;return D===void 0?void 0:x({},T,{sort:D})}return{field:M.field,sort:I===void 0?xP(M.sortingOrder??t.sortingOrder):I}},[e,t.sortingOrder]),s=p.useCallback((M,I)=>I==null||I.sortable===!1||t.disableColumnSorting?M:(I.sortingOrder||t.sortingOrder).some(T=>!!T)?[...M,"columnMenuSortItem"]:M,[t.sortingOrder,t.disableColumnSorting]),i=p.useCallback(()=>{e.current.setState(M=>{if(t.sortingMode==="server")return n.debug("Skipping sorting rows as sortingMode = server"),x({},M,{sorting:x({},M.sorting,{sortedRows:BC(mn(e),jn,!1)})});const I=So(M,e.current.instanceId),E=W7(I,e),T=e.current.applyStrategyProcessor("sorting",{sortRowList:E});return x({},M,{sorting:x({},M.sorting,{sortedRows:T})})}),e.current.publishEvent("sortedRowsSet"),e.current.forceUpdate()},[e,n,t.sortingMode]),l=p.useCallback(M=>{So(e)!==M&&(n.debug("Setting sort model"),e.current.setState(yP(M,t.disableMultipleColumnsSorting)),e.current.forceUpdate(),e.current.applySorting())},[e,n,t.disableMultipleColumnsSorting]),a=p.useCallback((M,I,E)=>{const T=e.current.getColumn(M),D=o(T,I);let $;!E||t.disableMultipleColumnsSorting?$=(D==null?void 0:D.sort)==null?[]:[D]:$=r(T.field,D),e.current.setSortModel($)},[e,r,o,t.disableMultipleColumnsSorting]),c=p.useCallback(()=>So(e),[e]),u=p.useCallback(()=>VC(e).map(I=>I.model),[e]),d=p.useCallback(()=>fu(e),[e]),f=p.useCallback(M=>e.current.getSortedRowIds()[M],[e]);Xe(e,{getSortModel:c,getSortedRows:u,getSortedRowIds:d,getRowIdFromRowIndex:f,setSortModel:l,sortColumn:a,applySorting:i},"public");const g=p.useCallback((M,I)=>{var D,$;const E=So(e);return!I.exportOnlyDirtyModels||t.sortModel!=null||(($=(D=t.initialState)==null?void 0:D.sorting)==null?void 0:$.sortModel)!=null||E.length>0?x({},M,{sorting:{sortModel:E}}):M},[e,t.sortModel,(P=(k=t.initialState)==null?void 0:k.sorting)==null?void 0:P.sortModel]),m=p.useCallback((M,I)=>{var T;const E=(T=I.stateToRestore.sorting)==null?void 0:T.sortModel;return E==null?M:(e.current.setState(yP(E,t.disableMultipleColumnsSorting)),x({},M,{callbacks:[...M.callbacks,e.current.applySorting]}))},[e,t.disableMultipleColumnsSorting]),C=p.useCallback(M=>{const I=mn(e),E=I[jn],T=M.sortRowList?M.sortRowList(E.children.map(D=>I[D])):[...E.children];return E.footerId!=null&&T.push(E.footerId),T},[e]);Bt(e,"exportState",g),Bt(e,"restoreState",m),Tg(e,Zl,"sorting",C);const b=p.useCallback(({field:M,colDef:I},E)=>{if(!I.sortable||t.disableColumnSorting)return;const T=E.shiftKey||E.metaKey||E.ctrlKey;a(M,void 0,T)},[a,t.disableColumnSorting]),y=p.useCallback(({field:M,colDef:I},E)=>{!I.sortable||t.disableColumnSorting||E.key==="Enter"&&!E.ctrlKey&&!E.metaKey&&a(M,void 0,E.shiftKey)},[a,t.disableColumnSorting]),w=p.useCallback(()=>{const M=So(e),I=hs(e);if(M.length>0){const E=M.filter(T=>I[T.field]);E.length{M==="sorting"&&e.current.applySorting()},[e]);Bt(e,"columnMenu",s),Ee(e,"columnHeaderClick",b),Ee(e,"columnHeaderKeyDown",y),Ee(e,"rowsSet",e.current.applySorting),Ee(e,"columnsChange",w),Ee(e,"activeStrategyProcessorChange",S),qf(()=>{e.current.applySorting()}),Et(()=>{t.sortModel!==void 0&&e.current.setSortModel(t.sortModel)},[e,t.sortModel])};function cM(e){const{containerSize:t,scrollPosition:n,elementSize:r,elementOffset:o}=e,s=o+r;if(r>t)return o;if(s-t>n)return s-t;if(o{const n=fs(),r=Mn(e,"useGridScroll"),o=e.current.columnHeadersContainerRef,s=e.current.virtualScrollerRef,i=he(e,ol),l=p.useCallback(d=>{var b;const f=kn(e.current.state),h=Kf(e),g=t.unstable_listView?[jc(e.current.state)]:qt(e);if(!(d.rowIndex==null)&&h===0||g.length===0)return!1;r.debug(`Scrolling to cell at row ${d.rowIndex}, col: ${d.colIndex} `);let C={};if(d.colIndex!==void 0){const y=rl(e);let w;if(typeof d.rowIndex<"u"){const S=(b=i[d.rowIndex])==null?void 0:b.id,k=e.current.unstable_getCellColSpanInfo(S,d.colIndex);k&&!k.spannedByColSpan&&(w=k.cellProps.width)}typeof w>"u"&&(w=g[d.colIndex].computedWidth),C.left=cM({containerSize:f.viewportOuterSize.width,scrollPosition:Math.abs(s.current.scrollLeft),elementSize:w,elementOffset:y[d.colIndex]})}if(d.rowIndex!==void 0){const y=gu(e.current.state),w=sq(e),S=p2(e),k=t.pagination?d.rowIndex-w*S:d.rowIndex,P=y.positions[k+1]?y.positions[k+1]-y.positions[k]:y.currentPageTotalHeight-y.positions[k];C.top=cM({containerSize:f.viewportInnerSize.height,scrollPosition:s.current.scrollTop,elementSize:P,elementOffset:y.positions[k]})}return C=e.current.unstable_applyPipeProcessors("scrollToIndexes",C,d),typeof C.left!==void 0||typeof C.top!==void 0?(e.current.scroll(C),!0):!1},[r,e,s,t.pagination,i,t.unstable_listView]),a=p.useCallback(d=>{if(s.current&&d.left!==void 0&&o.current){const f=n?-1:1;o.current.scrollLeft=d.left,s.current.scrollLeft=f*d.left,r.debug(`Scrolling left: ${d.left}`)}s.current&&d.top!==void 0&&(s.current.scrollTop=d.top,r.debug(`Scrolling top: ${d.top}`)),r.debug("Scrolling, updating container, and viewport")},[s,n,o,r]),c=p.useCallback(()=>s!=null&&s.current?{top:s.current.scrollTop,left:s.current.scrollLeft}:{top:0,left:0},[s]);Xe(e,{scroll:a,scrollToIndexes:l,getScrollPosition:c},"public")};function cte(e,t){St(e,"columnHeaderClick",t.onColumnHeaderClick),St(e,"columnHeaderContextMenu",t.onColumnHeaderContextMenu),St(e,"columnHeaderDoubleClick",t.onColumnHeaderDoubleClick),St(e,"columnHeaderOver",t.onColumnHeaderOver),St(e,"columnHeaderOut",t.onColumnHeaderOut),St(e,"columnHeaderEnter",t.onColumnHeaderEnter),St(e,"columnHeaderLeave",t.onColumnHeaderLeave),St(e,"cellClick",t.onCellClick),St(e,"cellDoubleClick",t.onCellDoubleClick),St(e,"cellKeyDown",t.onCellKeyDown),St(e,"preferencePanelClose",t.onPreferencePanelClose),St(e,"preferencePanelOpen",t.onPreferencePanelOpen),St(e,"menuOpen",t.onMenuOpen),St(e,"menuClose",t.onMenuClose),St(e,"rowDoubleClick",t.onRowDoubleClick),St(e,"rowClick",t.onRowClick),St(e,"stateChange",t.onStateChange)}function ute(e,t=166){let n,r;const o=()=>{n=void 0,e(...r)};function s(...i){r=i,n===void 0&&(n=setTimeout(o,t))}return s.clear=()=>{clearTimeout(n),n=void 0},s}const Cx={autoHeight:!1,autoPageSize:!1,autosizeOnMount:!1,checkboxSelection:!1,checkboxSelectionVisibleOnly:!1,clipboardCopyCellDelimiter:" ",columnBufferPx:150,columnHeaderHeight:56,disableAutosize:!1,disableColumnFilter:!1,disableColumnMenu:!1,disableColumnReorder:!1,disableColumnResize:!1,disableColumnSelector:!1,disableColumnSorting:!1,disableDensitySelector:!1,disableEval:!1,disableMultipleColumnsFiltering:!1,disableMultipleColumnsSorting:!1,disableMultipleRowSelection:!1,disableRowSelectionOnClick:!1,disableVirtualization:!1,editMode:us.Cell,filterDebounceMs:150,filterMode:"client",hideFooter:!1,hideFooterPagination:!1,hideFooterRowCount:!1,hideFooterSelectedRowCount:!1,ignoreDiacritics:!1,ignoreValueFormatterDuringExport:!1,indeterminateCheckboxAction:"deselect",keepColumnPositionIfDraggedOutside:!1,keepNonExistentRowsSelected:!1,loading:!1,logger:console,logLevel:"error",pageSizeOptions:[25,50,100],pagination:!1,paginationMode:"client",resetPageOnSortFilter:!1,resizeThrottleMs:60,rowBufferPx:150,rowHeight:52,rowPositionsDebounceMs:166,rows:[],rowSelection:!0,rowSpacingType:"margin",showCellVerticalBorder:!1,showColumnVerticalBorder:!1,sortingMode:"client",sortingOrder:["asc","desc",null],throttleRowsMs:0,unstable_rowSpanning:!1,virtualizeColumnsWithAutoRowHeight:!1},Ea={width:0,height:0},dte={isReady:!1,root:Ea,viewportOuterSize:Ea,viewportInnerSize:Ea,contentSize:Ea,minimumSize:Ea,hasScrollX:!1,hasScrollY:!1,scrollbarSize:0,headerHeight:0,groupHeaderHeight:0,headerFilterHeight:0,rowWidth:0,rowHeight:0,columnsTotalWidth:0,leftPinnedWidth:0,rightPinnedWidth:0,headersTotalHeight:0,topContainerHeight:0,bottomContainerHeight:0},fte=(e,t,n)=>{const r=dte,o=au(n);return x({},e,{dimensions:x({},r,t$(t,n,o,du(n)))})},e$=Be(qt,rl,(e,t)=>{const n=e.length;return n===0?0:Wa(t[n-1]+e[n-1].computedWidth,1)});function hte(e,t){const n=Mn(e,"useResizeContainer"),r=p.useRef(!1),o=p.useRef(Ea),s=he(e,du),i=he(e,au),l=he(e,e$),a=p.useRef(!0),{rowHeight:c,headerHeight:u,groupHeaderHeight:d,headerFilterHeight:f,headersTotalHeight:h,leftPinnedWidth:g,rightPinnedWidth:m}=t$(t,e,i,s),C=p.useRef(void 0),b=p.useCallback(()=>kn(e.current.state),[e]),y=p.useCallback($=>{e.current.setState(L=>x({},L,{dimensions:$})),e.current.rootElementRef.current&&uM(e.current.rootElementRef.current,kn(e.current.state))},[e]),w=p.useCallback(()=>{const $=e.current.mainElementRef.current;if(!$)return;const L=Do($).getComputedStyle($),A={width:parseFloat(L.width)||0,height:parseFloat(L.height)||0};(!C.current||!fM(C.current,A))&&(e.current.publishEvent("resize",A),C.current=A)},[e]),S=p.useCallback(()=>{const $=kn(e.current.state);if(!$.isReady)return 0;const L=Gi(e);if(t.getRowHeight){const R=Jf(e),_=R.lastRowIndex-R.firstRowIndex;return Math.min(_-1,L.rows.length)}const A=Math.floor($.viewportInnerSize.height/c);return Math.min(A,L.rows.length)},[e,t.getRowHeight,c]),k=p.useCallback(()=>{var Q,U;if(a.current)return;const $=pte(e.current.mainElementRef.current,t.scrollbarSize),L=gu(e.current.state),A=h+L.pinnedTopRowsTotalHeight,R=L.pinnedBottomRowsTotalHeight,O={width:l-g-m,height:Wa(L.currentPageTotalHeight,1)};let F,j,z=!1,H=!1;if(t.autoHeight)H=!1,z=Math.round(l)>Math.round(o.current.width),F={width:o.current.width,height:A+R+O.height},j={width:Math.max(0,F.width-(H?$:0)),height:Math.max(0,F.height-(z?$:0))};else{F={width:o.current.width,height:o.current.height},j={width:Math.max(0,F.width-g-m),height:Math.max(0,F.height-A-R)};const K=O,ee=j,de=K.width>ee.width,se=K.height>ee.height;(de||se)&&(H=se,z=K.width+(H?$:0)>ee.width,z&&(H=K.height+$>ee.height)),H&&(j.width-=$),z&&(j.height-=$)}const B=Math.max(F.width,l+(H?$:0)),G={width:l,height:A+O.height+R},V={isReady:!0,root:o.current,viewportOuterSize:F,viewportInnerSize:j,contentSize:O,minimumSize:G,hasScrollX:z,hasScrollY:H,scrollbarSize:$,headerHeight:u,groupHeaderHeight:d,headerFilterHeight:f,rowWidth:B,rowHeight:c,columnsTotalWidth:l,leftPinnedWidth:g,rightPinnedWidth:m,headersTotalHeight:h,topContainerHeight:A,bottomContainerHeight:R},Z=e.current.state.dimensions;is(Z,V)||(y(V),fM(V.viewportInnerSize,Z.viewportInnerSize)||e.current.publishEvent("viewportInnerSizeChange",V.viewportInnerSize),(U=(Q=e.current).updateRenderContext)==null||U.call(Q))},[e,y,t.scrollbarSize,t.autoHeight,c,u,d,f,l,h,g,m]),P=Ke(k),M=p.useMemo(()=>t.resizeThrottleMs>0?ute(()=>{P(),e.current.publishEvent("debouncedResize",o.current)},t.resizeThrottleMs):void 0,[e,t.resizeThrottleMs,P]);p.useEffect(()=>M==null?void 0:M.clear,[M]);const I={resize:w,getRootDimensions:b},E={updateDimensions:k,getViewportPageSize:S};Et(k,[k]),Xe(e,I,"public"),Xe(e,E,"private");const T=p.useCallback($=>{uM($,kn(e.current.state))},[e]),D=p.useCallback($=>{if(o.current=$,$.height===0&&!r.current&&!t.autoHeight&&!Pg&&(n.error(["The parent DOM element of the Data Grid has an empty height.","Please make sure that this element has an intrinsic height.","The grid displays with a height of 0px.","","More details: https://mui.com/r/x-data-grid-no-dimensions."].join(`
+`)),r.current=!0),$.width===0&&!r.current&&!Pg&&(n.error(["The parent DOM element of the Data Grid has an empty width.","Please make sure that this element has an intrinsic width.","The grid displays with a width of 0px.","","More details: https://mui.com/r/x-data-grid-no-dimensions."].join(`
+`)),r.current=!0),a.current||!M){a.current=!1,k();return}M()},[k,t.autoHeight,M,n]);St(e,"rootMount",T),St(e,"resize",D),St(e,"debouncedResize",t.onResize)}function uM(e,t){const n=(r,o)=>e.style.setProperty(r,o);n("--DataGrid-hasScrollX",`${Number(t.hasScrollX)}`),n("--DataGrid-hasScrollY",`${Number(t.hasScrollY)}`),n("--DataGrid-scrollbarSize",`${t.scrollbarSize}px`),n("--DataGrid-rowWidth",`${t.rowWidth}px`),n("--DataGrid-columnsTotalWidth",`${t.columnsTotalWidth}px`),n("--DataGrid-leftPinnedWidth",`${t.leftPinnedWidth}px`),n("--DataGrid-rightPinnedWidth",`${t.rightPinnedWidth}px`),n("--DataGrid-headerHeight",`${t.headerHeight}px`),n("--DataGrid-headersTotalHeight",`${t.headersTotalHeight}px`),n("--DataGrid-topContainerHeight",`${t.topContainerHeight}px`),n("--DataGrid-bottomContainerHeight",`${t.bottomContainerHeight}px`),n("--height",`${t.rowHeight}px`)}function t$(e,t,n,r){const o=JO(e.rowHeight,Cx.rowHeight);return{rowHeight:Math.floor(o*n),headerHeight:Math.floor(e.columnHeaderHeight*n),groupHeaderHeight:Math.floor((e.columnGroupHeaderHeight??e.columnHeaderHeight)*n),headerFilterHeight:Math.floor((e.headerFilterHeight??e.columnHeaderHeight)*n),columnsTotalWidth:e$(t),headersTotalHeight:bb(t,e),leftPinnedWidth:r.left.reduce((s,i)=>s+i.computedWidth,0),rightPinnedWidth:r.right.reduce((s,i)=>s+i.computedWidth,0)}}const dM=new WeakMap;function pte(e,t){if(t!==void 0)return t;if(e===null)return 0;const n=dM.get(e);if(n!==void 0)return n;const o=Ft(e).createElement("div");o.style.width="99px",o.style.height="99px",o.style.position="absolute",o.style.overflow="scroll",o.className="scrollDiv",e.appendChild(o);const s=o.offsetWidth-o.clientWidth;return e.removeChild(o),dM.set(e,s),s}function fM(e,t){return e.width===t.width&&e.height===t.height}const gte=typeof globalThis.ResizeObserver<"u"?globalThis.ResizeObserver:class{observe(){}unobserve(){}disconnect(){}},mte=(e,t,n)=>{n.current.caches.rowsMeta={heights:new Map};const r=AC(n.current.state),o=Kf(n),s=Xf(n.current.state),i=Math.min(s.enabled?s.paginationModel.pageSize:o,o);return x({},e,{rowsMeta:{currentPageTotalHeight:i*r,positions:Array.from({length:i},(l,a)=>a*r),pinnedTopRowsTotalHeight:0,pinnedBottomRowsTotalHeight:0}})},bte=(e,t)=>{const{getRowHeight:n,getRowSpacing:r,getEstimatedRowHeight:o}=t,s=e.current.caches.rowsMeta.heights,i=p.useRef(-1),l=p.useRef(!1),a=p.useRef(!1),c=he(e,au),u=ZC(e),d=he(e,cu),f=he(e,AC),h=T=>{let D=s.get(T);return D===void 0&&(D={content:f,spacingTop:0,spacingBottom:0,detail:0,autoHeight:!1,needsFirstMeasurement:!0},s.set(T,D)),D},g=p.useCallback(T=>{const D=kn(e.current.state).rowHeight,$=e.current.getRowHeightEntry(T.id);if(!n)$.content=D,$.needsFirstMeasurement=!1;else{const L=n(x({},T,{densityFactor:c}));if(L==="auto"){if($.needsFirstMeasurement){const A=o?o(x({},T,{densityFactor:c})):D;$.content=A??D}l.current=!0,$.autoHeight=!0}else $.content=JO(L,D),$.needsFirstMeasurement=!1,$.autoHeight=!1}if(r){const L=e.current.getRowIndexRelativeToVisibleRows(T.id),A=r(x({},T,{isFirstVisible:L===0,isLastVisible:L===u.rows.length-1,indexRelativeToCurrentPage:L}));$.spacingTop=A.top??0,$.spacingBottom=A.bottom??0}else $.spacingTop=0,$.spacingBottom=0;return e.current.unstable_applyPipeProcessors("rowHeight",$,T),$},[e,u.rows,n,o,f,r,c]),m=p.useCallback(()=>{l.current=!1;const T=d.top.reduce((_,O)=>{const F=g(O);return _+F.content+F.spacingTop+F.spacingBottom+F.detail},0),D=d.bottom.reduce((_,O)=>{const F=g(O);return _+F.content+F.spacingTop+F.spacingBottom+F.detail},0),$=[],L=u.rows.reduce((_,O)=>{$.push(_);const F=g(O),j=F.content+F.spacingTop+F.spacingBottom+F.detail;return _+j},0);l.current||(i.current=1/0);const A=T!==e.current.state.rowsMeta.pinnedTopRowsTotalHeight||D!==e.current.state.rowsMeta.pinnedBottomRowsTotalHeight||L!==e.current.state.rowsMeta.currentPageTotalHeight,R={currentPageTotalHeight:L,positions:$,pinnedTopRowsTotalHeight:T,pinnedBottomRowsTotalHeight:D};e.current.setState(_=>x({},_,{rowsMeta:R})),A&&e.current.updateDimensions(),a.current=!0},[e,d,u.rows,g]),C=T=>{var D;return((D=s.get(T))==null?void 0:D.content)??f},b=(T,D)=>{const $=e.current.getRowHeightEntry(T),L=$.content!==D;$.needsFirstMeasurement=!1,$.content=D,a.current&&(a.current=!L)},y=T=>{var D;return((D=s.get(T))==null?void 0:D.autoHeight)??!1},w=()=>i.current,S=T=>{l.current&&T>i.current&&(i.current=T)},k=()=>{s.clear(),m()},P=zo(()=>new gte(T=>{var D;for(let $=0;$0?L.borderBoxSize[0].blockSize:L.contentRect.height,R=L.target.__mui_id;if(((D=R2(e))==null?void 0:D.id)===R&&A===0)return;e.current.unstable_storeRowHeightMeasurement(R,A)}a.current||requestAnimationFrame(()=>{e.current.requestPipeProcessorsApplication("rowHeight")})})).current,M=(T,D)=>(T.__mui_id=D,P.observe(T),()=>P.unobserve(T));iw(e,"rowHeight",m),Et(()=>{m()},[m]);const I={unstable_getRowHeight:C,unstable_setLastMeasuredRowIndex:S,unstable_storeRowHeightMeasurement:b,resetRowHeights:k},E={hydrateRowsMeta:m,observeRowHeight:M,rowHasAutoHeight:y,getRowHeightEntry:h,getLastMeasuredRowIndex:w};Xe(e,I,"public"),Xe(e,E,"private")},vte=e=>{const t=p.useCallback((o={})=>e.current.unstable_applyPipeProcessors("exportState",{},o),[e]),n=p.useCallback(o=>{e.current.unstable_applyPipeProcessors("restoreState",{callbacks:[]},{stateToRestore:o}).callbacks.forEach(i=>{i()}),e.current.forceUpdate()},[e]);Xe(e,{exportState:t,restoreState:n},"public")},yte=e=>{const t=p.useRef({}),n=(l,a)=>{var c;return(c=t.current[l])==null?void 0:c[a]},r=()=>{t.current={}},o=p.useCallback(({rowId:l,minFirstColumn:a,maxLastColumn:c,columns:u})=>{for(let d=a;d1&&(d+=f.colSpan-1)}},[e]),s={unstable_getCellColSpanInfo:n},i={resetColSpan:r,calculateColSpan:o};Xe(e,s,"public"),Xe(e,i,"private"),Ee(e,"columnOrderChange",r)};function xte(e){const{apiRef:t,lookup:n,columnIndex:r,rowId:o,minFirstColumnIndex:s,maxLastColumnIndex:i,columns:l}=e,a=l.length,c=l[r],u=t.current.getRow(o),d=t.current.getRowValue(u,c),f=typeof c.colSpan=="function"?c.colSpan(d,u,c,t):c.colSpan;if(!f||f===1)return _v(n,o,r,{spannedByColSpan:!1,cellProps:{colSpan:1,width:c.computedWidth}}),{colSpan:1};let h=c.computedWidth;for(let g=1;g=s&&m{if(HO(e)){if(n[e.field]!==void 0)throw new Error(["MUI X: columnGroupingModel contains duplicated field",`column field ${e.field} occurs two times in the grouping model:`,`- ${n[e.field].join(" > ")}`,`- ${t.join(" > ")}`].join(`
+`));n[e.field]=t;return}const{groupId:r,children:o}=e;o.forEach(s=>{n$(s,[...t,r],n)})},wx=e=>{if(!e)return{};const t={};return e.forEach(n=>{n$(n,[],t)}),t},Sx=(e,t,n)=>{const r=a=>t[a]??[],o=[],s=Math.max(...e.map(a=>r(a).length)),i=(a,c,u)=>is(r(a).slice(0,u+1),r(c).slice(0,u+1)),l=(a,c)=>!!(n!=null&&n.left&&n.left.includes(a)&&!n.left.includes(c)||n!=null&&n.right&&!n.right.includes(a)&&n.right.includes(c));for(let a=0;a{const f=r(d)[a]??null;if(u.length===0)return[{columnFields:[d],groupId:f}];const h=u[u.length-1],g=h.columnFields[h.columnFields.length-1];return h.groupId!==f||!i(g,d,a)||l(g,d)?[...u,{columnFields:[d],groupId:f}]:[...u.slice(0,u.length-1),{columnFields:[...h.columnFields,d],groupId:f}]},[]);o.push(c)}return o},Cte=["groupId","children"],lw=e=>{let t={};return e.forEach(n=>{if(HO(n))return;const{groupId:r,children:o}=n,s=te(n,Cte);if(!r)throw new Error("MUI X: An element of the columnGroupingModel does not have either `field` or `groupId`.");const i=x({},s,{groupId:r}),l=lw(o);if(l[r]!==void 0||t[r]!==void 0)throw new Error(`MUI X: The groupId ${r} is used multiple times in the columnGroupingModel.`);t=x({},t,l,{[r]:i})}),x({},t)},wte=(e,t,n)=>{if(!t.columnGroupingModel)return e;const r=$s(n),o=uu(n),s=lw(t.columnGroupingModel??[]),i=wx(t.columnGroupingModel??[]),l=Sx(r,i,n.current.state.pinnedColumns??{}),a=o.length===0?0:Math.max(...o.map(c=>{var u;return((u=i[c])==null?void 0:u.length)??0}));return x({},e,{columnGrouping:{lookup:s,unwrappedGroupingModel:i,headerStructure:l,maxDepth:a}})},Ste=(e,t)=>{const n=p.useCallback(l=>x2(e)[l]??[],[e]),r=p.useCallback(()=>C2(e),[e]);Xe(e,{getColumnGroupPath:n,getAllGroupDetails:r},"public");const s=p.useCallback(()=>{const l=wx(t.columnGroupingModel??[]);e.current.setState(a=>{var f;const c=((f=a.columns)==null?void 0:f.orderedFields)??[],u=a.pinnedColumns??{},d=Sx(c,l,u);return x({},a,{columnGrouping:x({},a.columnGrouping,{headerStructure:d})})})},[e,t.columnGroupingModel]),i=p.useCallback(l=>{var m,C;const a=((C=(m=e.current).getPinnedColumns)==null?void 0:C.call(m))??{},c=$s(e),u=uu(e),d=lw(l??[]),f=wx(l??[]),h=Sx(c,f,a),g=u.length===0?0:Math.max(...u.map(b=>{var y;return((y=f[b])==null?void 0:y.length)??0}));e.current.setState(b=>x({},b,{columnGrouping:{lookup:d,unwrappedGroupingModel:f,headerStructure:h,maxDepth:g}}))},[e]);Ee(e,"columnIndexChange",s),Ee(e,"columnsChange",()=>{i(t.columnGroupingModel)}),Ee(e,"columnVisibilityModelChange",()=>{i(t.columnGroupingModel)}),p.useEffect(()=>{i(t.columnGroupingModel)},[i,t.columnGroupingModel])};function kte(){let e,t;const n=new Promise((r,o)=>{e=r,t=o});return n.resolve=e,n.reject=t,n}function hM(e,t){if(t!==void 0&&e.changedTouches){for(let n=0;n_2(e),r=he(e,n);return p.useEffect(()=>{t.current&&r===!1&&(t.current.resolve(),t.current=void 0)}),()=>{if(!t.current){if(n()===!1)return Promise.resolve();t.current=kte()}return t.current}}function _te(e,t){if(e.length<4)return e;const n=e.slice();n.sort((l,a)=>l-a);const r=n[Math.floor(n.length*.25)],o=n[Math.floor(n.length*.75)-1],s=o-r,i=s<5?5:s*t;return n.filter(l=>l>r-i&&l{const l=fQ(e.current,s.field).map(g=>g.getBoundingClientRect().width??0),a=t.includeOutliers?l:_te(l,t.outliersFactor);if(t.includeHeaders){const g=dQ(e.current,s.field);if(g){const m=g.querySelector(`.${N.columnHeaderTitle}`),C=g.querySelector(`.${N.columnHeaderTitleContainerContent}`),b=g.querySelector(`.${N.iconButtonContainer}`),y=g.querySelector(`.${N.menuIcon}`),w=m??C,S=window.getComputedStyle(g,null),k=parseInt(S.paddingLeft,10)+parseInt(S.paddingRight,10),M=w.scrollWidth+1+k+((b==null?void 0:b.clientWidth)??0)+((y==null?void 0:y.clientWidth)??0);a.push(M)}}const c=s.minWidth!==-1/0&&s.minWidth!==void 0,u=s.maxWidth!==1/0&&s.maxWidth!==void 0,d=c?s.minWidth:0,f=u?s.maxWidth:1/0,h=a.length===0?0:Math.max(...a);r[s.field]=Ar(h,d,f)}),o.classList.remove(N.autosizing),r}const Rte=e=>x({},e,{columnResize:{resizingColumnField:""}});function Ote(){return{colDef:void 0,initialColWidth:0,initialTotalWidth:0,previousMouseClickEvent:void 0,columnHeaderElement:void 0,headerFilterElement:void 0,groupHeaderElements:[],cellElements:[],leftPinnedCellsAfter:[],rightPinnedCellsBefore:[],fillerLeft:void 0,fillerRight:void 0,leftPinnedHeadersAfter:[],rightPinnedHeadersBefore:[]}}const $te=(e,t)=>{const n=fs(),r=Mn(e,"useGridColumnResize"),o=zo(Ote).current,s=p.useRef(null),i=p.useRef(null),l=pr(),a=p.useRef(void 0),c=E=>{var R,_;r.debug(`Updating width to ${E} for col ${o.colDef.field}`);const T=o.columnHeaderElement.offsetWidth,D=E-T,$=E-o.initialColWidth;if($>0){const O=o.initialTotalWidth+$;(_=(R=e.current.rootElementRef)==null?void 0:R.current)==null||_.style.setProperty("--DataGrid-rowWidth",`${O}px`)}o.colDef.computedWidth=E,o.colDef.width=E,o.colDef.flex=0,o.columnHeaderElement.style.width=`${E}px`;const L=o.headerFilterElement;L&&(L.style.width=`${E}px`),o.groupHeaderElements.forEach(O=>{const F=O;let j;F.getAttribute("aria-colspan")==="1"?j=`${E}px`:j=`${F.offsetWidth+D}px`,F.style.width=j}),o.cellElements.forEach(O=>{const F=O;let j;F.getAttribute("aria-colspan")==="1"?j=`${E}px`:j=`${F.offsetWidth+D}px`,F.style.setProperty("--width",j)});const A=e.current.unstable_applyPipeProcessors("isColumnPinned",!1,o.colDef.field);A===ci.LEFT&&(wa(o.fillerLeft,"width",D),o.leftPinnedCellsAfter.forEach(O=>{wa(O,"left",D)}),o.leftPinnedHeadersAfter.forEach(O=>{wa(O,"left",D)})),A===ci.RIGHT&&(wa(o.fillerRight,"width",D),o.rightPinnedCellsBefore.forEach(O=>{wa(O,"right",D)}),o.rightPinnedHeadersBefore.forEach(O=>{wa(O,"right",D)}))},u=E=>{if(b(),o.previousMouseClickEvent){const T=o.previousMouseClickEvent,D=T.timeStamp,$=T.clientX,L=T.clientY;if(E.timeStamp-D<300&&E.clientX===$&&E.clientY===L){o.previousMouseClickEvent=void 0,e.current.publishEvent("columnResizeStop",null,E);return}}if(o.colDef){e.current.setColumnWidth(o.colDef.field,o.colDef.width),r.debug(`Updating col ${o.colDef.field} with new width: ${o.colDef.width}`);const T=ls(e.current.state);o.groupHeaderElements.forEach(D=>{const $=oQ(D),L=D,R=`${$.reduce((_,O)=>T.columnVisibilityModel[O]!==!1?_+T.lookup[O].computedWidth:_,0)}px`;L.style.width=R})}l.start(0,()=>{e.current.publishEvent("columnResizeStop",null,E)})},d=(E,T,D)=>{var R;const $=e.current.rootElementRef.current;o.initialColWidth=E.computedWidth,o.initialTotalWidth=e.current.getRootDimensions().rowWidth,o.colDef=E,o.columnHeaderElement=rQ(e.current.columnHeadersContainerRef.current,E.field);const L=$.querySelector(`.${N.headerFilterRow} [data-field="${qs(E.field)}"]`);L&&(o.headerFilterElement=L),o.groupHeaderElements=sQ((R=e.current.columnHeadersContainerRef)==null?void 0:R.current,E.field),o.cellElements=iQ(o.columnHeaderElement,e.current),o.fillerLeft=VP(e.current,n?"filler--pinnedRight":"filler--pinnedLeft"),o.fillerRight=VP(e.current,n?"filler--pinnedLeft":"filler--pinnedRight");const A=e.current.unstable_applyPipeProcessors("isColumnPinned",!1,o.colDef.field);o.leftPinnedCellsAfter=A!==ci.LEFT?[]:lQ(e.current,o.columnHeaderElement,n),o.rightPinnedCellsBefore=A!==ci.RIGHT?[]:aQ(e.current,o.columnHeaderElement,n),o.leftPinnedHeadersAfter=A!==ci.LEFT?[]:cQ(e.current,o.columnHeaderElement,n),o.rightPinnedHeadersBefore=A!==ci.RIGHT?[]:uQ(e.current,o.columnHeaderElement,n),i.current=Ite(T,n),s.current=Pte(D,o.columnHeaderElement.getBoundingClientRect(),i.current)},f=Ke(u),h=Ke(E=>{if(E.buttons===0){f(E);return}let T=pM(s.current,E.clientX,o.columnHeaderElement.getBoundingClientRect(),i.current);T=Ar(T,o.colDef.minWidth,o.colDef.maxWidth),c(T);const D={element:o.columnHeaderElement,colDef:o.colDef,width:T};e.current.publishEvent("columnResize",D,E)}),g=Ke(E=>{hM(E,a.current)&&u(E)}),m=Ke(E=>{const T=hM(E,a.current);if(!T)return;if(E.type==="mousemove"&&E.buttons===0){g(E);return}let D=pM(s.current,T.x,o.columnHeaderElement.getBoundingClientRect(),i.current);D=Ar(D,o.colDef.minWidth,o.colDef.maxWidth),c(D);const $={element:o.columnHeaderElement,colDef:o.colDef,width:D};e.current.publishEvent("columnResize",$,E)}),C=Ke(E=>{const T=Mg(E.target,N["columnSeparator--resizable"]);if(!T)return;const D=E.changedTouches[0];D!=null&&(a.current=D.identifier);const $=Mg(E.target,N.columnHeader),L=nQ($),A=e.current.getColumn(L);r.debug(`Start Resize on col ${A.field}`),e.current.publishEvent("columnResizeStart",{field:L},E),d(A,T,D.clientX);const R=Ft(E.currentTarget);R.addEventListener("touchmove",m),R.addEventListener("touchend",g)}),b=p.useCallback(()=>{const E=Ft(e.current.rootElementRef.current);E.body.style.removeProperty("cursor"),E.removeEventListener("mousemove",h),E.removeEventListener("mouseup",f),E.removeEventListener("touchmove",m),E.removeEventListener("touchend",g),setTimeout(()=>{E.removeEventListener("click",gM,!0)},100),o.columnHeaderElement&&(o.columnHeaderElement.style.pointerEvents="unset")},[e,o,h,f,m,g]),y=p.useCallback(({field:E})=>{e.current.setState(T=>x({},T,{columnResize:x({},T.columnResize,{resizingColumnField:E})})),e.current.forceUpdate()},[e]),w=p.useCallback(()=>{e.current.setState(E=>x({},E,{columnResize:x({},E.columnResize,{resizingColumnField:""})})),e.current.forceUpdate()},[e]),S=Ke(({colDef:E},T)=>{if(T.button!==0||!T.currentTarget.classList.contains(N["columnSeparator--resizable"]))return;T.preventDefault(),r.debug(`Start Resize on col ${E.field}`),e.current.publishEvent("columnResizeStart",{field:E.field},T),d(E,T.currentTarget,T.clientX);const D=Ft(e.current.rootElementRef.current);D.body.style.cursor="col-resize",o.previousMouseClickEvent=T.nativeEvent,D.addEventListener("mousemove",h),D.addEventListener("mouseup",f),D.addEventListener("click",gM,!0)}),k=Ke((E,T)=>{if(t.disableAutosize||T.button!==0)return;const D=e.current.state.columns.lookup[E.field];D.resizable!==!1&&e.current.autosizeColumns(x({},t.autosizeOptions,{disableColumnVirtualization:!1,columns:[D.field]}))}),P=Ete(e),M=p.useRef(!1),I=p.useCallback(async E=>{var A;if(!((A=e.current.rootElementRef)==null?void 0:A.current)||M.current)return;M.current=!0;const D=ls(e.current.state),$=x({},YX,E,{columns:(E==null?void 0:E.columns)??D.orderedFields});$.columns=$.columns.filter(R=>D.columnVisibilityModel[R]!==!1);const L=$.columns.map(R=>e.current.state.columns.lookup[R]);try{!t.disableVirtualization&&$.disableColumnVirtualization&&(e.current.unstable_setColumnVirtualization(!1),await P());const R=Tte(e,$,L),_=L.map(O=>x({},O,{width:R[O.field],computedWidth:R[O.field],flex:0}));if($.expand){const F=D.orderedFields.map(B=>D.lookup[B]).filter(B=>D.columnVisibilityModel[B.field]!==!1).reduce((B,G)=>B+(R[G.field]??G.computedWidth??G.width),0),H=e.current.getRootDimensions().viewportInnerSize.width-F;if(H>0){const B=H/(_.length||1);_.forEach(G=>{G.width+=B,G.computedWidth+=B})}}e.current.updateColumns(_),_.forEach((O,F)=>{if(O.width!==L[F].width){const j=O.width;e.current.publishEvent("columnWidthChange",{element:e.current.getColumnHeaderElement(O.field),colDef:O,width:j})}})}finally{t.disableVirtualization||e.current.unstable_setColumnVirtualization(!0),M.current=!1}},[e,P,t.disableVirtualization]);p.useEffect(()=>b,[b]),nC(()=>{t.autosizeOnMount&&Promise.resolve().then(()=>{e.current.autosizeColumns(t.autosizeOptions)})}),c2(e,()=>{var E;return(E=e.current.columnHeadersContainerRef)==null?void 0:E.current},"touchstart",C,{passive:!0}),Xe(e,{autosizeColumns:I},"public"),Ee(e,"columnResizeStop",w),Ee(e,"columnResizeStart",y),Ee(e,"columnSeparatorMouseDown",S),Ee(e,"columnSeparatorDoubleClick",k),St(e,"columnResize",t.onColumnResize),St(e,"columnWidthChange",t.onColumnWidthChange)};function wa(e,t,n){e&&(e.style[t]=`${parseInt(e.style[t],10)+n}px`)}function Fte(e,t){return e.firstRowIndex>=t.firstRowIndex&&e.lastRowIndex<=t.lastRowIndex?null:e.firstRowIndex>=t.firstRowIndex&&e.lastRowIndex>t.lastRowIndex?{firstRowIndex:t.lastRowIndex,lastRowIndex:e.lastRowIndex}:e.firstRowIndex{if(!e)return null;let r=e[t.field];const o=t.rowSpanValueGetter??t.valueGetter;return o&&(r=o(r,e,t,n)),r},Ga={spannedCells:{},hiddenCells:{},hiddenCellOriginMap:{}},Rg={firstRowIndex:0,lastRowIndex:0},Lte=new Set([Wr,"__reorder__",fb]),bM=20,r$=(e,t,n,r,o,s,i)=>{const l=s?{}:x({},e.current.state.rowSpanning.spannedCells),a=s?{}:x({},e.current.state.rowSpanning.hiddenCells),c=s?{}:x({},e.current.state.rowSpanning.hiddenCellOriginMap);return s&&(i=Rg),t.forEach(u=>{var d;if(!Lte.has(u.field)){for(let f=o.firstRowIndex;f=r.firstRowIndex&&k&&Tv(k.model,u,e)===g;){const P=n[S+1];a[P.id]?a[P.id][u.field]=!0:a[P.id]={[u.field]:!0},y.push(f),b+=1,m=k.id,C=S,S-=1,k=n[S]}}y.forEach(S=>{c[S]?c[S][u.field]=C:c[S]={[u.field]:C}});let w=f+1;for(;w<=r.lastRowIndex&&n[w]&&Tv(n[w].model,u,e)===g;){const S=n[w];a[S.id]?a[S.id][u.field]=!0:a[S.id]={[u.field]:!0},c[w]?c[w][u.field]=C:c[w]={[u.field]:C},w+=1,b+=1}b>0&&(l[m]?l[m][u.field]=b+1:l[m]={[u.field]:b+1})}i={firstRowIndex:Math.min(i.firstRowIndex,o.firstRowIndex),lastRowIndex:Math.max(i.lastRowIndex,o.lastRowIndex)}}}),{spannedCells:l,hiddenCells:a,hiddenCellOriginMap:c,processedRange:i}},o$=(e,t)=>{const n=nd(t).length;if(e.pagination){const r=p2(t);let o=bM;return r>0&&(o=r-1),{firstRowIndex:0,lastRowIndex:Math.min(o,n)}}return{firstRowIndex:0,lastRowIndex:Math.min(bM,n)}},Dte=(e,t,n)=>{var g;if(!t.unstable_rowSpanning)return x({},e,{rowSpanning:Ga});const r=e.rows.dataRowIds||[],o=e.columns.orderedFields||[],s=e.rows.dataRowIdToModelLookup,i=e.columns.lookup,l=!!e.filter.filterModel.items.length||!!((g=e.filter.filterModel.quickFilterValues)!=null&&g.length);if(!r.length||!o.length||!s||!i||l)return x({},e,{rowSpanning:Ga});const a=o$(t,n),c=r.map(m=>({id:m,model:s[m]})),u=o.map(m=>i[m]),{spannedCells:d,hiddenCells:f,hiddenCellOriginMap:h}=r$(n,u,c,a,a,!0,Rg);return x({},e,{rowSpanning:{spannedCells:d,hiddenCells:f,hiddenCellOriginMap:h}})},Ate=(e,t)=>{const n=zo(()=>e.current.state.rowSpanning!==Ga?o$(t,e):Rg),r=p.useCallback((s,i=!1)=>{const{range:l,rows:a}=Gi(e,{pagination:t.pagination,paginationMode:t.paginationMode});if(l===null||!mM(s))return;i&&(n.current=Rg);const c=Fte({firstRowIndex:s.firstRowIndex,lastRowIndex:Math.min(s.lastRowIndex,l.lastRowIndex+1)},n.current);if(c===null)return;const u=qt(e),{spannedCells:d,hiddenCells:f,hiddenCellOriginMap:h,processedRange:g}=r$(e,u,a,l,c,i,n.current);n.current=g;const m=Object.keys(d).length,C=Object.keys(f).length,b=Object.keys(e.current.state.rowSpanning.spannedCells).length,y=Object.keys(e.current.state.rowSpanning.hiddenCells).length;!(i||m!==b||C!==y)||m===0&&b===0||e.current.setState(k=>x({},k,{rowSpanning:{spannedCells:d,hiddenCells:f,hiddenCellOriginMap:h}}))},[e,n,t.pagination,t.paginationMode]),o=p.useCallback(()=>{const s=Jf(e);mM(s)&&r(s,!0)},[e,r]);Ee(e,"renderedRowsIntervalChange",ml(t.unstable_rowSpanning,r)),Ee(e,"sortedRowsSet",ml(t.unstable_rowSpanning,o)),Ee(e,"paginationModelChange",ml(t.unstable_rowSpanning,o)),Ee(e,"filteredRowsSet",ml(t.unstable_rowSpanning,o)),Ee(e,"columnsChange",ml(t.unstable_rowSpanning,o)),p.useEffect(()=>{t.unstable_rowSpanning?e.current.state.rowSpanning===Ga&&o():e.current.state.rowSpanning!==Ga&&e.current.setState(s=>x({},s,{rowSpanning:Ga}))},[e,o,t.unstable_rowSpanning])},jte=(e,t,n)=>x({},e,{listViewColumn:t.unstable_listColumn?x({},t.unstable_listColumn,{computedWidth:kx(n)}):void 0});function zte(e,t){const n=()=>{e.current.setState(s=>s.listViewColumn?x({},s,{listViewColumn:x({},s.listViewColumn,{computedWidth:kx(e)})}):s)},r=p.useRef(null);Ee(e,"viewportInnerSizeChange",s=>{r.current!==s.width&&(r.current=s.width,n())}),Ee(e,"columnVisibilityModelChange",n),Et(()=>{const s=t.unstable_listColumn;s&&e.current.setState(i=>x({},i,{listViewColumn:x({},s,{computedWidth:kx(e)})}))},[e,t.unstable_listColumn]),p.useEffect(()=>{t.unstable_listView&&t.unstable_listColumn},[t.unstable_listView,t.unstable_listColumn])}function kx(e){return kn(e.current.state).viewportInnerSize.width}const Nte=(e,t)=>{const n=aee(e,t);return ste(n,t),ete(n),yn(iee,n,t),yn(nte,n,t),yn(mee,n,t),yn(Xee,n,t),yn(Aee,n,t),yn(Kee,n,t),yn(Tee,n,t),yn(ite,n,t),yn(zee,n,t),yn(Mee,n,t),yn(Dte,n,t),yn(vee,n,t),yn(Rte,n,t),yn(pee,n,t),yn(wte,n,t),yn(aX,n,t),yn(fte,n,t),yn(mte,n,t),yn(jte,n,t),Fee(n,t),rte(n,t),bee(n,t),Yee(n,t),Ate(n,t),tte(n,t),yte(n),Ste(n,t),qee(n,t),Ree(n,t),Nee(n,t),_ee(n,t),lte(n,t),yee(n,t),$te(n,t),jee(n,t),bte(n,t),ate(n,t),gee(n),Cee(n,t),Pee(n,t),hee(n,t),hte(n,t),cte(n,t),vte(n),cX(n,t),zte(n,t),n},Hte=e=>{const{classes:t,headerAlign:n,isDragging:r,isLastColumn:o,showLeftBorder:s,showRightBorder:i,groupId:l,pinnedPosition:a}=e,c={root:["columnHeader",n==="left"&&"columnHeader--alignLeft",n==="center"&&"columnHeader--alignCenter",n==="right"&&"columnHeader--alignRight",r&&"columnHeader--moving",i&&"columnHeader--withRightBorder",s&&"columnHeader--withLeftBorder","withBorderColor",l===null?"columnHeader--emptyGroup":"columnHeader--filledGroup",a===Je.LEFT&&"columnHeader--pinnedLeft",a===Je.RIGHT&&"columnHeader--pinnedRight",o&&"columnHeader--last"],draggableContainer:["columnHeaderDraggableContainer"],titleContainer:["columnHeaderTitleContainer","withBorderColor"],titleContainerContent:["columnHeaderTitleContainerContent"]};return ve(c,et,t)};function Bte(e){var F;const{groupId:t,width:n,depth:r,maxDepth:o,fields:s,height:i,colIndex:l,hasFocus:a,tabIndex:c,isLastColumn:u,pinnedPosition:d,pinnedOffset:f}=e,h=Te(),g=fs(),m=p.useRef(null),C=qe(),b=he(C,C2),y=t?b[t]:{},{headerName:w=t??"",description:S="",headerAlign:k=void 0}=y;let P;const M=t&&((F=b[t])==null?void 0:F.renderHeaderGroup),I=p.useMemo(()=>({groupId:t,headerName:w,description:S,depth:r,maxDepth:o,fields:s,colIndex:l,isLastColumn:u}),[t,w,S,r,o,s,l,u]);t&&M&&(P=M(I));const E=x({},e,{classes:h.classes,headerAlign:k,depth:r,isDragging:!1}),T=w??t,D=gt(),$=t===null?`empty-group-cell-${D}`:t,L=Hte(E);p.useLayoutEffect(()=>{if(a){const z=m.current.querySelector('[tabindex="0"]')||m.current;if(!z)return;if(tw())z.focus({preventScroll:!0});else{const H=C.current.getScrollPosition();z.focus(),C.current.scroll(H)}}},[C,a]);const A=p.useCallback(j=>z=>{eh(z)||C.current.publishEvent(j,I,z)},[C,I]),R=p.useMemo(()=>({onKeyDown:A("columnGroupHeaderKeyDown"),onFocus:A("columnGroupHeaderFocus"),onBlur:A("columnGroupHeaderBlur")}),[A]),_=typeof y.headerClassName=="function"?y.headerClassName(I):y.headerClassName,O=p.useMemo(()=>yb(x({},e.style),g,d,f),[d,f,e.style,g]);return v.jsx(V2,x({ref:m,classes:L,columnMenuOpen:!1,colIndex:l,height:i,isResizing:!1,sortDirection:null,hasFocus:!1,tabIndex:c,isDraggable:!1,headerComponent:P,headerClassName:_,description:S,elementId:$,width:n,columnMenuIconButton:null,columnTitleIconButtons:null,resizable:!1,label:T,"aria-colspan":s.length,"data-fields":`|-${s.join("-|-")}-|`,style:O},R))}const vM=re("div",{name:"MuiDataGrid",slot:"ColumnHeaderRow",overridesResolver:(e,t)=>t.columnHeaderRow})({display:"flex"}),Vte=e=>{const{visibleColumns:t,sortColumnLookup:n,filterColumnLookup:r,columnHeaderTabIndexState:o,columnGroupHeaderTabIndexState:s,columnHeaderFocus:i,columnGroupHeaderFocus:l,headerGroupingMaxDepth:a,columnMenuState:c,columnVisibility:u,columnGroupsHeaderStructure:d,hasOtherElementInTabSequence:f}=e,[h,g]=p.useState(""),[m,C]=p.useState(""),b=yo(),y=Te(),w=he(b,x2),S=he(b,rl),k=he(b,lX),P=he(b,du),M=he(b,hs),I=O2(S,k,P.left.length),E=he(b,cb),T=he(b,$O),D=he(b,v7),$=he(b,y7),L=he(b,FO),A=p.useCallback(Q=>C(Q.field),[]),R=p.useCallback(()=>C(""),[]),_=p.useCallback(Q=>g(Q.field),[]),O=p.useCallback(()=>g(""),[]),F=p.useMemo(()=>P.left.length?{firstColumnIndex:0,lastColumnIndex:P.left.length}:null,[P.left.length]),j=p.useMemo(()=>P.right.length?{firstColumnIndex:t.length-P.right.length,lastColumnIndex:t.length}:null,[P.right.length,t.length]);Ee(b,"columnResizeStart",A),Ee(b,"columnResizeStop",R),Ee(b,"columnHeaderDragStart",_),Ee(b,"columnHeaderDragEnd",O);const z=Q=>{const{renderContext:U=k}=Q||{},K=U.firstColumnIndex,ee=U.lastColumnIndex;return{renderedColumns:t.slice(K,ee),firstColumnToRender:K,lastColumnToRender:ee}},H=(Q,U,K,ee=!1)=>{const de=(Q==null?void 0:Q.position)===Je.RIGHT,se=(Q==null?void 0:Q.position)===void 0,ge=P.right.length>0&&de||P.right.length===0&&se,q=I-K;return v.jsxs(p.Fragment,{children:[se&&v.jsx("div",{role:"presentation",style:{width:q}}),U,se&&v.jsx("div",{role:"presentation",className:le(N.filler,ee&&N["filler--borderBottom"])}),ge&&v.jsx(ow,{header:!0,pinnedRight:de,borderBottom:ee,borderTop:!1})]})},B=(Q,U={})=>{const{renderedColumns:K,firstColumnToRender:ee}=z(Q),de=[];for(let se=0;sev.jsxs(vM,{role:"row","aria-rowindex":a+1,ownerState:y,className:N["row--borderBottom"],children:[F&&B({position:Je.LEFT,renderContext:F},{disableReorder:!0}),B({renderContext:k}),j&&B({position:Je.RIGHT,renderContext:j},{disableReorder:!0,separatorSide:rw.Left})]}),V=({depth:Q,params:U})=>{var we,Ae;const K=z(U);if(K.renderedColumns.length===0)return null;const{firstColumnToRender:ee,lastColumnToRender:de}=K,se=d[Q],ge=t[ee].field,q=((we=w[ge])==null?void 0:we[Q])??null,me=se.findIndex(({groupId:ie,columnFields:be})=>ie===q&&be.includes(ge)),ae=t[de-1].field,ce=((Ae=w[ae])==null?void 0:Ae[Q])??null,ye=se.findIndex(({groupId:ie,columnFields:be})=>ie===ce&&be.includes(ae)),ne=se.slice(me,ye+1).map(ie=>x({},ie,{columnFields:ie.columnFields.filter(be=>u[be]!==!1)})).filter(ie=>ie.columnFields.length>0),Oe=ne[0].columnFields.indexOf(ge),Pe=ne[0].columnFields.slice(0,Oe).reduce((ie,be)=>{const ue=M[be];return ie+(ue.computedWidth??0)},0);let He=ee;const De=ne.map(({groupId:ie,columnFields:be},ue)=>{const Y=l!==null&&l.depth===Q&&be.includes(l.field),xe=s!==null&&s.depth===Q&&be.includes(s.field)?0:-1,Re={width:be.reduce((pe,ke)=>pe+M[ke].computedWidth,0),fields:be,colIndex:He},Ze=U.position,Me=Md(Ze,Re.width,He,S,E,L);He+=be.length;let Se=ue;return Ze===Je.LEFT&&(Se=He-1),v.jsx(Bte,{groupId:ie,width:Re.width,fields:Re.fields,colIndex:Re.colIndex,depth:Q,isLastColumn:ue===ne.length-1,maxDepth:a,height:$,hasFocus:Y,tabIndex:xe,pinnedPosition:Ze,pinnedOffset:Me,showLeftBorder:_g(Ze,Se),showRightBorder:Eg(Ze,Se,ne.length,y.showColumnVerticalBorder,T)},ue)});return H(U,De,Pe)};return{renderContext:k,leftRenderContext:F,rightRenderContext:j,pinnedColumns:P,visibleColumns:t,columnPositions:S,getFillers:H,getColumnHeadersRow:G,getColumnsToRender:z,getColumnGroupHeadersRows:()=>{if(a===0)return null;const Q=[];for(let U=0;U({role:"rowgroup"})}},Wte=["className"],Gte=e=>{const{classes:t}=e;return ve({root:["columnHeaders"]},et,t)},Ute=Rt("div",{name:"MuiDataGrid",slot:"ColumnHeaders",overridesResolver:(e,t)=>t.columnHeaders})({display:"flex",flexDirection:"column",borderTopLeftRadius:"var(--unstable_DataGrid-radius)",borderTopRightRadius:"var(--unstable_DataGrid-radius)"}),Kte=at(function(t,n){const{className:r}=t,o=te(t,Wte),s=Te(),i=Gte(s);return v.jsx(Ute,x({className:le(i.root,r),ownerState:s},o,{role:"presentation",ref:n}))}),qte=["className","visibleColumns","sortColumnLookup","filterColumnLookup","columnHeaderTabIndexState","columnGroupHeaderTabIndexState","columnHeaderFocus","columnGroupHeaderFocus","headerGroupingMaxDepth","columnMenuState","columnVisibility","columnGroupsHeaderStructure","hasOtherElementInTabSequence"],Xte=at(function(t,n){const{visibleColumns:r,sortColumnLookup:o,filterColumnLookup:s,columnHeaderTabIndexState:i,columnGroupHeaderTabIndexState:l,columnHeaderFocus:a,columnGroupHeaderFocus:c,headerGroupingMaxDepth:u,columnMenuState:d,columnVisibility:f,columnGroupsHeaderStructure:h,hasOtherElementInTabSequence:g}=t,m=te(t,qte),{getInnerProps:C,getColumnHeadersRow:b,getColumnGroupHeadersRows:y}=Vte({visibleColumns:r,sortColumnLookup:o,filterColumnLookup:s,columnHeaderTabIndexState:i,columnGroupHeaderTabIndexState:l,columnHeaderFocus:a,columnGroupHeaderFocus:c,headerGroupingMaxDepth:u,columnMenuState:d,columnVisibility:f,columnGroupsHeaderStructure:h,hasOtherElementInTabSequence:g});return v.jsxs(Kte,x({},m,C(),{ref:n,children:[y(),b()]}))}),Yte=Ks(Xte);function Qte(e){return null}function Zte(e){return null}const Jte=at(function(t,n){const o=qe().current.getLocaleText("noResultsOverlayLabel");return v.jsx(nw,x({},t,{ref:n,children:o}))}),ene=["sortingOrder"],tne=p.memo(function(t){const{sortingOrder:n}=t,r=te(t,ene),o=Te(),[s]=n,i=s==="asc"?o.slots.columnSortedAscendingIcon:o.slots.columnSortedDescendingIcon;return i?v.jsx(i,x({},r)):null}),nne=["native"];function rne(e){let{native:t}=e,n=te(e,nne);return t?v.jsx("option",x({},n)):v.jsx(cn,x({},n))}const one={booleanCellTrueIcon:qQ,booleanCellFalseIcon:Pv,columnMenuIcon:WQ,openFilterButtonIcon:AQ,filterPanelDeleteIcon:Pv,columnFilteredIcon:qP,columnSelectorIcon:zQ,columnUnsortedIcon:tne,columnSortedAscendingIcon:WP,columnSortedDescendingIcon:GP,columnResizeIcon:NQ,densityCompactIcon:HQ,densityStandardIcon:BQ,densityComfortableIcon:VQ,exportIcon:KQ,moreActionsIcon:XQ,treeDataCollapseIcon:KP,treeDataExpandIcon:UP,groupingCriteriaCollapseIcon:KP,groupingCriteriaExpandIcon:UP,detailPanelExpandIcon:XP,detailPanelCollapseIcon:GQ,rowReorderIcon:YP,quickFilterIcon:jQ,quickFilterClearIcon:Pv,columnMenuHideIcon:YQ,columnMenuSortAscendingIcon:WP,columnMenuSortDescendingIcon:GP,columnMenuFilterIcon:qP,columnMenuManageColumnsIcon:QQ,columnMenuClearIcon:ZQ,loadIcon:UQ,filterPanelAddIcon:XP,filterPanelRemoveAllIcon:JQ,columnReorderIcon:YP},sne=x({},one,{baseBadge:N3,baseCheckbox:xC,baseDivider:wC,baseTextField:$o,baseFormControl:Qm,baseSelect:lu,baseButton:Sn,baseIconButton:gr,baseInputAdornment:JR,baseTooltip:tb,basePopper:oa,baseInputLabel:Zm,baseSelectOption:rne,baseChip:Wm}),ine=x({},sne,{cell:mY,skeletonCell:SY,columnHeaderFilterIconButton:LQ,columnHeaderSortIcon:$Q,columnMenu:mZ,columnHeaders:Yte,detailPanels:Qte,footer:CJ,footerRowCount:DJ,toolbar:null,pinnedRows:Zte,loadingOverlay:IJ,noResultsOverlay:Jte,noRowsOverlay:EJ,pagination:OJ,filterPanel:UZ,columnsPanel:CZ,columnsManagement:YZ,panel:MZ,row:BJ}),lne={disableMultipleColumnsFiltering:!0,disableMultipleColumnsSorting:!0,throttleRowsMs:void 0,hideFooterRowCount:!1,pagination:!0,checkboxSelectionVisibleOnly:!1,disableColumnReorder:!0,keepColumnPositionIfDraggedOutside:!1,signature:"DataGrid",unstable_listView:!1},ane=ine,cne=e=>{const t=tl(),n=cY(p.useMemo(()=>H9({props:e,theme:t,name:"MuiDataGrid"}),[t,e])),r=p.useMemo(()=>x({},C7,n.localeText),[n.localeText]),o=p.useMemo(()=>lY({defaultSlots:ane,slots:n.slots}),[n.slots]),s=p.useMemo(()=>Object.keys(Cx).reduce((i,l)=>(i[l]=n[l]??Cx[l],i),{}),[n]);return p.useMemo(()=>x({},n,s,{localeText:r,slots:o},lne),[n,r,o,s])},une={hooks:{useGridAriaAttributes:VJ,useGridRowAriaAttributes:WJ,useCellAggregationResult:()=>null}},s$=at(function(t,n){var s;const r=cne(t),o=Nte(r.apiRef,r);return v.jsx(GJ,{privateApiRef:o,configuration:une,props:r,children:v.jsx(HY,x({className:r.className,style:r.style,sx:r.sx},r.forwardedProps,(s=r.slotProps)==null?void 0:s.root,{ref:n}))})}),i$=p.memo(s$);s$.propTypes={apiRef:X.shape({current:X.object.isRequired}),"aria-label":X.string,"aria-labelledby":X.string,autoHeight:X.bool,autoPageSize:X.bool,autosizeOnMount:X.bool,autosizeOptions:X.shape({columns:X.arrayOf(X.string),disableColumnVirtualization:X.bool,expand:X.bool,includeHeaders:X.bool,includeOutliers:X.bool,outliersFactor:X.number}),cellModesModel:X.object,checkboxSelection:X.bool,classes:X.object,clipboardCopyCellDelimiter:X.string,columnBufferPx:X.number,columnGroupHeaderHeight:X.number,columnGroupingModel:X.arrayOf(X.object),columnHeaderHeight:X.number,columns:X.arrayOf(X.object).isRequired,columnVisibilityModel:X.object,density:X.oneOf(["comfortable","compact","standard"]),disableAutosize:X.bool,disableColumnFilter:X.bool,disableColumnMenu:X.bool,disableColumnResize:X.bool,disableColumnSelector:X.bool,disableColumnSorting:X.bool,disableDensitySelector:X.bool,disableEval:X.bool,disableMultipleRowSelection:X.bool,disableRowSelectionOnClick:X.bool,disableVirtualization:X.bool,editMode:X.oneOf(["cell","row"]),estimatedRowCount:X.number,experimentalFeatures:X.shape({warnIfFocusStateIsNotSynced:X.bool}),filterDebounceMs:X.number,filterMode:X.oneOf(["client","server"]),filterModel:X.shape({items:X.arrayOf(X.shape({field:X.string.isRequired,id:X.oneOfType([X.number,X.string]),operator:X.string.isRequired,value:X.any})).isRequired,logicOperator:X.oneOf(["and","or"]),quickFilterExcludeHiddenColumns:X.bool,quickFilterLogicOperator:X.oneOf(["and","or"]),quickFilterValues:X.array}),forwardedProps:X.object,getCellClassName:X.func,getDetailPanelContent:X.func,getEstimatedRowHeight:X.func,getRowClassName:X.func,getRowHeight:X.func,getRowId:X.func,getRowSpacing:X.func,hideFooter:X.bool,hideFooterPagination:X.bool,hideFooterSelectedRowCount:X.bool,ignoreDiacritics:X.bool,ignoreValueFormatterDuringExport:X.oneOfType([X.shape({clipboardExport:X.bool,csvExport:X.bool}),X.bool]),indeterminateCheckboxAction:X.oneOf(["deselect","select"]),initialState:X.object,isCellEditable:X.func,isRowSelectable:X.func,keepNonExistentRowsSelected:X.bool,loading:X.bool,localeText:X.object,logger:X.shape({debug:X.func.isRequired,error:X.func.isRequired,info:X.func.isRequired,warn:X.func.isRequired}),logLevel:X.oneOf(["debug","error","info","warn",!1]),nonce:X.string,onCellClick:X.func,onCellDoubleClick:X.func,onCellEditStart:X.func,onCellEditStop:X.func,onCellKeyDown:X.func,onCellModesModelChange:X.func,onClipboardCopy:X.func,onColumnHeaderClick:X.func,onColumnHeaderContextMenu:X.func,onColumnHeaderDoubleClick:X.func,onColumnHeaderEnter:X.func,onColumnHeaderLeave:X.func,onColumnHeaderOut:X.func,onColumnHeaderOver:X.func,onColumnOrderChange:X.func,onColumnResize:X.func,onColumnVisibilityModelChange:X.func,onColumnWidthChange:X.func,onDensityChange:X.func,onFilterModelChange:X.func,onMenuClose:X.func,onMenuOpen:X.func,onPaginationMetaChange:X.func,onPaginationModelChange:X.func,onPreferencePanelClose:X.func,onPreferencePanelOpen:X.func,onProcessRowUpdateError:X.func,onResize:X.func,onRowClick:X.func,onRowCountChange:X.func,onRowDoubleClick:X.func,onRowEditStart:X.func,onRowEditStop:X.func,onRowModesModelChange:X.func,onRowSelectionModelChange:X.func,onSortModelChange:X.func,onStateChange:X.func,pageSizeOptions:X.arrayOf(X.oneOfType([X.number,X.shape({label:X.string.isRequired,value:X.number.isRequired})]).isRequired),pagination:X.oneOf([!0]),paginationMeta:X.shape({hasNextPage:X.bool}),paginationMode:X.oneOf(["client","server"]),paginationModel:X.shape({page:X.number.isRequired,pageSize:X.number.isRequired}),processRowUpdate:X.func,resetPageOnSortFilter:X.bool,resizeThrottleMs:X.number,rowBufferPx:X.number,rowCount:X.number,rowHeight:X.number,rowModesModel:X.object,rowPositionsDebounceMs:X.number,rows:X.arrayOf(X.object),rowSelection:X.bool,rowSelectionModel:X.oneOfType([X.arrayOf(X.oneOfType([X.number,X.string]).isRequired),X.number,X.string]),rowSpacingType:X.oneOf(["border","margin"]),scrollbarSize:X.number,showCellVerticalBorder:X.bool,showColumnVerticalBorder:X.bool,slotProps:X.object,slots:X.object,sortingMode:X.oneOf(["client","server"]),sortingOrder:X.arrayOf(X.oneOf(["asc","desc"])),sortModel:X.arrayOf(X.shape({field:X.string.isRequired,sort:X.oneOf(["asc","desc"])})),sx:X.oneOfType([X.arrayOf(X.oneOfType([X.func,X.object,X.bool])),X.func,X.object]),unstable_rowSpanning:X.bool,virtualizeColumnsWithAutoRowHeight:X.bool};var aw={},dne=Qt;Object.defineProperty(aw,"__esModule",{value:!0});var l$=aw.default=void 0,fne=dne(hn()),hne=v;l$=aw.default=(0,fne.default)((0,hne.jsx)("path",{d:"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"InfoOutlined");var cw={},pne=Qt;Object.defineProperty(cw,"__esModule",{value:!0});var a$=cw.default=void 0,gne=pne(hn()),mne=v;a$=cw.default=(0,gne.default)((0,mne.jsx)("path",{d:"M20 2H4c-1 0-2 .9-2 2v3.01c0 .72.43 1.34 1 1.69V20c0 1.1 1.1 2 2 2h14c.9 0 2-.9 2-2V8.7c.57-.35 1-.97 1-1.69V4c0-1.1-1-2-2-2m-5 12H9v-2h6zm5-7H4V4l16-.02z"}),"Inventory");var uw={},bne=Qt;Object.defineProperty(uw,"__esModule",{value:!0});var Og=uw.default=void 0,vne=bne(hn()),yne=v;Og=uw.default=(0,vne.default)((0,yne.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");var dw={},xne=Qt;Object.defineProperty(dw,"__esModule",{value:!0});var bu=dw.default=void 0,Cne=xne(hn()),wne=v;bu=dw.default=(0,Cne.default)((0,wne.jsx)("path",{d:"M8 5v14l11-7z"}),"PlayArrow");var fw={},Sne=Qt;Object.defineProperty(fw,"__esModule",{value:!0});var c$=fw.default=void 0,kne=Sne(hn()),Pne=v;c$=fw.default=(0,kne.default)((0,Pne.jsx)("path",{d:"M5 20h14v-2H5zM19 9h-4V3H9v6H5l7 7z"}),"Download");var hw={},Mne=Qt;Object.defineProperty(hw,"__esModule",{value:!0});var u$=hw.default=void 0,Ine=Mne(hn()),Ene=v;u$=hw.default=(0,Ine.default)((0,Ene.jsx)("path",{d:"M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8"}),"Replay");var pw={},_ne=Qt;Object.defineProperty(pw,"__esModule",{value:!0});var pf=pw.default=void 0,Tne=_ne(hn()),Rne=v;pf=pw.default=(0,Tne.default)((0,Rne.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete");var gw={},One=Qt;Object.defineProperty(gw,"__esModule",{value:!0});var d$=gw.default=void 0,$ne=One(hn()),Fne=v;d$=gw.default=(0,$ne.default)((0,Fne.jsx)("path",{d:"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2"}),"VpnKey");var mw={},Lne=Qt;Object.defineProperty(mw,"__esModule",{value:!0});var xb=mw.default=void 0,Dne=Lne(hn()),Ane=v;xb=mw.default=(0,Dne.default)((0,Ane.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh");var bw={},jne=Qt;Object.defineProperty(bw,"__esModule",{value:!0});var f$=bw.default=void 0,zne=jne(hn()),Nne=v;f$=bw.default=(0,zne.default)((0,Nne.jsx)("path",{d:"M9 1h6v2H9zm10.03 6.39 1.42-1.42c-.43-.51-.9-.99-1.41-1.41l-1.42 1.42C16.07 4.74 14.12 4 12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9 9-4.03 9-9c0-2.12-.74-4.07-1.97-5.61M13 14h-2V8h2z"}),"Timer");var vw={},Hne=Qt;Object.defineProperty(vw,"__esModule",{value:!0});var h$=vw.default=void 0,Bne=Hne(hn()),Vne=v;h$=vw.default=(0,Bne.default)((0,Vne.jsx)("path",{d:"M9 1h6v2H9zm4 7v2.17l6.98 6.98C20.63 15.91 21 14.5 21 13c0-2.12-.74-4.07-1.97-5.61l1.42-1.42c-.43-.51-.9-.99-1.41-1.41l-1.42 1.42C16.07 4.74 14.12 4 12 4c-1.5 0-2.91.37-4.15 1.02L10.83 8zM2.81 2.81 1.39 4.22l3.4 3.4C3.67 9.12 3 10.98 3 13c0 4.97 4.02 9 9 9 2.02 0 3.88-.67 5.38-1.79l2.4 2.4 1.41-1.41z"}),"TimerOff");var yw={},Wne=Qt;Object.defineProperty(yw,"__esModule",{value:!0});var $g=yw.default=void 0,Gne=Wne(hn()),Une=v;$g=yw.default=(0,Gne.default)((0,Une.jsx)("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check");function p$({intervals:e,enabled:t,currentInterval:n,onToggle:r,onIntervalChange:o}){const[s,i]=p.useState(null);return e.length===0?null:v.jsxs(v.Fragment,{children:[v.jsx(tb,{title:"Auto-refresh",children:v.jsx(gr,{size:"small",onClick:l=>i(l.currentTarget),color:t?"primary":"default",children:t?v.jsx(f$,{fontSize:"small"}):v.jsx(h$,{fontSize:"small"})})}),v.jsxs(eb,{anchorEl:s,open:!!s,onClose:()=>i(null),children:[v.jsxs(cn,{selected:!t,onClick:()=>{r(!1),i(null)},children:[v.jsx(Bi,{children:!t&&v.jsx($g,{fontSize:"small"})}),v.jsx(Vi,{children:"Off"})]}),e.map(l=>v.jsxs(cn,{selected:t&&l.interval===n,onClick:()=>{o(l.interval),i(null)},children:[v.jsx(Bi,{children:t&&l.interval===n&&v.jsx($g,{fontSize:"small"})}),v.jsx(Vi,{children:l.text})]},l.interval))]})]})}const Px={unknown:"#373a3c",pending:"#ff7518",building:"#ff7518",failed:"#ff0039",success:"#3fb618"};function Kne({hasSelection:e,hasAuth:t,repoStatus:n,autorefreshIntervals:r,autoRefreshEnabled:o,autoRefreshInterval:s,onAutoRefreshToggle:i,onAutoRefreshIntervalChange:l,onDashboardClick:a,onAddClick:c,onUpdateClick:u,onRefreshDbClick:d,onRebuildClick:f,onRemoveClick:h,onKeyImportClick:g,onReloadClick:m}){const[C,b]=p.useState(null);return v.jsxs(Tt,{sx:{display:"flex",gap:1,mb:1,flexWrap:"wrap",alignItems:"center"},children:[v.jsx(tb,{title:"System health",children:v.jsx(gr,{onClick:a,sx:{borderColor:n?Px[n]:void 0,borderWidth:1,borderStyle:"solid",color:n?Px[n]:void 0},children:v.jsx(l$,{})})}),t&&v.jsxs(v.Fragment,{children:[v.jsx(Sn,{variant:"contained",startIcon:v.jsx(a$,{}),onClick:y=>b(y.currentTarget),children:"packages"}),v.jsxs(eb,{anchorEl:C,open:!!C,onClose:()=>b(null),children:[v.jsxs(cn,{onClick:()=>{b(null),c()},children:[v.jsx(Og,{fontSize:"small",sx:{mr:1}})," add"]}),v.jsxs(cn,{onClick:()=>{b(null),u()},children:[v.jsx(bu,{fontSize:"small",sx:{mr:1}})," update"]}),v.jsxs(cn,{onClick:()=>{b(null),d()},children:[v.jsx(c$,{fontSize:"small",sx:{mr:1}})," update pacman databases"]}),v.jsxs(cn,{onClick:()=>{b(null),f()},children:[v.jsx(u$,{fontSize:"small",sx:{mr:1}})," rebuild"]}),v.jsx(wC,{}),v.jsxs(cn,{onClick:()=>{b(null),h()},disabled:!e,children:[v.jsx(pf,{fontSize:"small",sx:{mr:1}})," remove"]})]}),v.jsx(Sn,{variant:"contained",color:"info",startIcon:v.jsx(d$,{}),onClick:g,children:"import key"})]}),v.jsx(Sn,{variant:"outlined",color:"secondary",startIcon:v.jsx(xb,{}),onClick:m,children:"reload"}),v.jsx(p$,{intervals:r,enabled:o,currentInterval:s,onToggle:i,onIntervalChange:l})]})}function qne({status:e}){return v.jsx(Wm,{label:e,size:"small",sx:{backgroundColor:Px[e],color:"#fff",fontWeight:500}})}var xw={},Xne=Qt;Object.defineProperty(xw,"__esModule",{value:!0});var Cw=xw.default=void 0,Yne=Xne(hn()),Qne=v;Cw=xw.default=(0,Yne.default)((0,Qne.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");/*!
+ * @kurkle/color v0.3.4
+ * https://github.com/kurkle/color#readme
+ * (c) 2024 Jukka Kurkela
+ * Released under the MIT License
+ */function th(e){return e+.5|0}const Mi=(e,t,n)=>Math.max(Math.min(e,n),t);function sd(e){return Mi(th(e*2.55),0,255)}function Ui(e){return Mi(th(e*255),0,255)}function Ps(e){return Mi(th(e/2.55)/100,0,1)}function yM(e){return Mi(th(e*100),0,100)}const Vr={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Mx=[..."0123456789ABCDEF"],Zne=e=>Mx[e&15],Jne=e=>Mx[(e&240)>>4]+Mx[e&15],Lh=e=>(e&240)>>4===(e&15),ere=e=>Lh(e.r)&&Lh(e.g)&&Lh(e.b)&&Lh(e.a);function tre(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&Vr[e[1]]*17,g:255&Vr[e[2]]*17,b:255&Vr[e[3]]*17,a:t===5?Vr[e[4]]*17:255}:(t===7||t===9)&&(n={r:Vr[e[1]]<<4|Vr[e[2]],g:Vr[e[3]]<<4|Vr[e[4]],b:Vr[e[5]]<<4|Vr[e[6]],a:t===9?Vr[e[7]]<<4|Vr[e[8]]:255})),n}const nre=(e,t)=>e<255?t(e):"";function rre(e){var t=ere(e)?Zne:Jne;return e?"#"+t(e.r)+t(e.g)+t(e.b)+nre(e.a,t):void 0}const ore=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function g$(e,t,n){const r=t*Math.min(n,1-n),o=(s,i=(s+e/30)%12)=>n-r*Math.max(Math.min(i-3,9-i,1),-1);return[o(0),o(8),o(4)]}function sre(e,t,n){const r=(o,s=(o+e/60)%6)=>n-n*t*Math.max(Math.min(s,4-s,1),0);return[r(5),r(3),r(1)]}function ire(e,t,n){const r=g$(e,1,.5);let o;for(t+n>1&&(o=1/(t+n),t*=o,n*=o),o=0;o<3;o++)r[o]*=1-t-n,r[o]+=t;return r}function lre(e,t,n,r,o){return e===o?(t-n)/r+(t.5?u/(2-s-i):u/(s+i),a=lre(n,r,o,u,s),a=a*60+.5),[a|0,c||0,l]}function Sw(e,t,n,r){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,r)).map(Ui)}function kw(e,t,n){return Sw(g$,e,t,n)}function are(e,t,n){return Sw(ire,e,t,n)}function cre(e,t,n){return Sw(sre,e,t,n)}function m$(e){return(e%360+360)%360}function ure(e){const t=ore.exec(e);let n=255,r;if(!t)return;t[5]!==r&&(n=t[6]?sd(+t[5]):Ui(+t[5]));const o=m$(+t[2]),s=+t[3]/100,i=+t[4]/100;return t[1]==="hwb"?r=are(o,s,i):t[1]==="hsv"?r=cre(o,s,i):r=kw(o,s,i),{r:r[0],g:r[1],b:r[2],a:n}}function dre(e,t){var n=ww(e);n[0]=m$(n[0]+t),n=kw(n),e.r=n[0],e.g=n[1],e.b=n[2]}function fre(e){if(!e)return;const t=ww(e),n=t[0],r=yM(t[1]),o=yM(t[2]);return e.a<255?`hsla(${n}, ${r}%, ${o}%, ${Ps(e.a)})`:`hsl(${n}, ${r}%, ${o}%)`}const xM={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},CM={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function hre(){const e={},t=Object.keys(CM),n=Object.keys(xM);let r,o,s,i,l;for(r=0;r>16&255,s>>8&255,s&255]}return e}let Dh;function pre(e){Dh||(Dh=hre(),Dh.transparent=[0,0,0,0]);const t=Dh[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const gre=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function mre(e){const t=gre.exec(e);let n=255,r,o,s;if(t){if(t[7]!==r){const i=+t[7];n=t[8]?sd(i):Mi(i*255,0,255)}return r=+t[1],o=+t[3],s=+t[5],r=255&(t[2]?sd(r):Mi(r,0,255)),o=255&(t[4]?sd(o):Mi(o,0,255)),s=255&(t[6]?sd(s):Mi(s,0,255)),{r,g:o,b:s,a:n}}}function bre(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Ps(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const Rv=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,Sa=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function vre(e,t,n){const r=Sa(Ps(e.r)),o=Sa(Ps(e.g)),s=Sa(Ps(e.b));return{r:Ui(Rv(r+n*(Sa(Ps(t.r))-r))),g:Ui(Rv(o+n*(Sa(Ps(t.g))-o))),b:Ui(Rv(s+n*(Sa(Ps(t.b))-s))),a:e.a+n*(t.a-e.a)}}function Ah(e,t,n){if(e){let r=ww(e);r[t]=Math.max(0,Math.min(r[t]+r[t]*n,t===0?360:1)),r=kw(r),e.r=r[0],e.g=r[1],e.b=r[2]}}function b$(e,t){return e&&Object.assign(t||{},e)}function wM(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=Ui(e[3]))):(t=b$(e,{r:0,g:0,b:0,a:1}),t.a=Ui(t.a)),t}function yre(e){return e.charAt(0)==="r"?mre(e):ure(e)}class gf{constructor(t){if(t instanceof gf)return t;const n=typeof t;let r;n==="object"?r=wM(t):n==="string"&&(r=tre(t)||pre(t)||yre(t)),this._rgb=r,this._valid=!!r}get valid(){return this._valid}get rgb(){var t=b$(this._rgb);return t&&(t.a=Ps(t.a)),t}set rgb(t){this._rgb=wM(t)}rgbString(){return this._valid?bre(this._rgb):void 0}hexString(){return this._valid?rre(this._rgb):void 0}hslString(){return this._valid?fre(this._rgb):void 0}mix(t,n){if(t){const r=this.rgb,o=t.rgb;let s;const i=n===s?.5:n,l=2*i-1,a=r.a-o.a,c=((l*a===-1?l:(l+a)/(1+l*a))+1)/2;s=1-c,r.r=255&c*r.r+s*o.r+.5,r.g=255&c*r.g+s*o.g+.5,r.b=255&c*r.b+s*o.b+.5,r.a=i*r.a+(1-i)*o.a,this.rgb=r}return this}interpolate(t,n){return t&&(this._rgb=vre(this._rgb,t._rgb,n)),this}clone(){return new gf(this.rgb)}alpha(t){return this._rgb.a=Ui(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=th(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=n,this}opaquer(t){const n=this._rgb;return n.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Ah(this._rgb,2,t),this}darken(t){return Ah(this._rgb,2,-t),this}saturate(t){return Ah(this._rgb,1,t),this}desaturate(t){return Ah(this._rgb,1,-t),this}rotate(t){return dre(this._rgb,t),this}}/*!
+ * Chart.js v4.5.1
+ * https://www.chartjs.org
+ * (c) 2025 Chart.js Contributors
+ * Released under the MIT License
+ */function vs(){}const xre=(()=>{let e=0;return()=>e++})();function kt(e){return e==null}function On(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function pt(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function po(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Wo(e,t){return po(e)?e:t}function st(e,t){return typeof e>"u"?t:e}const Cre=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100:+e/t,v$=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function Nt(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function Mt(e,t,n,r){let o,s,i;if(On(e))for(s=e.length,o=0;oe,x:e=>e.x,y:e=>e.y};function kre(e){const t=e.split("."),n=[];let r="";for(const o of t)r+=o,r.endsWith("\\")?r=r.slice(0,-1)+".":(n.push(r),r="");return n}function Pre(e){const t=kre(e);return n=>{for(const r of t){if(r==="")break;n=n&&n[r]}return n}}function Jl(e,t){return(SM[t]||(SM[t]=Pre(t)))(e)}function Pw(e){return e.charAt(0).toUpperCase()+e.slice(1)}const bf=e=>typeof e<"u",Qi=e=>typeof e=="function",kM=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function Mre(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const $t=Math.PI,on=2*$t,Ire=on+$t,Dg=Number.POSITIVE_INFINITY,Ere=$t/180,Pn=$t/2,il=$t/4,PM=$t*2/3,x$=Math.log10,as=Math.sign;function Ed(e,t,n){return Math.abs(e-t)o-s).pop(),t}function Tre(e){return typeof e=="symbol"||typeof e=="object"&&e!==null&&!(Symbol.toPrimitive in e||"toString"in e||"valueOf"in e)}function vf(e){return!Tre(e)&&!isNaN(parseFloat(e))&&isFinite(e)}function Rre(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function Ore(e,t,n){let r,o,s;for(r=0,o=e.length;ra&&c=Math.min(t,n)-r&&e<=Math.max(t,n)+r}function Mw(e,t,n){n=n||(i=>e[i]1;)s=o+r>>1,n(s)?o=s:r=s;return{lo:o,hi:r}}const kl=(e,t,n,r)=>Mw(e,n,r?o=>{const s=e[o][t];return se[o][t]Mw(e,n,r=>e[r][t]>=n);function Are(e,t,n){let r=0,o=e.length;for(;rr&&e[o-1]>n;)o--;return r>0||o{const r="_onData"+Pw(n),o=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const i=o.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[r]=="function"&&l[r](...s)}),i}})})}function EM(e,t){const n=e._chartjs;if(!n)return;const r=n.listeners,o=r.indexOf(t);o!==-1&&r.splice(o,1),!(r.length>0)&&(w$.forEach(s=>{delete e[s]}),delete e._chartjs)}function S$(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const k$=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function P$(e,t){let n=[],r=!1;return function(...o){n=o,r||(r=!0,k$.call(window,()=>{r=!1,e.apply(t,n)}))}}function zre(e,t){let n;return function(...r){return t?(clearTimeout(n),n=setTimeout(e,t,r)):e.apply(this,r),t}}const M$=e=>e==="start"?"left":e==="end"?"right":"center",Ir=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,Nre=(e,t,n,r)=>e===(r?"left":"right")?n:e==="center"?(t+n)/2:t;function Hre(e,t,n){const r=t.length;let o=0,s=r;if(e._sorted){const{iScale:i,vScale:l,_parsed:a}=e,c=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null,u=i.axis,{min:d,max:f,minDefined:h,maxDefined:g}=i.getUserBounds();if(h){if(o=Math.min(kl(a,u,d).lo,n?r:kl(t,u,i.getPixelForValue(d)).lo),c){const m=a.slice(0,o+1).reverse().findIndex(C=>!kt(C[l.axis]));o-=Math.max(0,m)}o=qn(o,0,r-1)}if(g){let m=Math.max(kl(a,i.axis,f,!0).hi+1,n?0:kl(t,u,i.getPixelForValue(f),!0).hi+1);if(c){const C=a.slice(m-1).findIndex(b=>!kt(b[l.axis]));m+=Math.max(0,C)}s=qn(m,o,r)-o}else s=r-o}return{start:o,count:s}}function Bre(e){const{xScale:t,yScale:n,_scaleRanges:r}=e,o={xmin:t.min,xmax:t.max,ymin:n.min,ymax:n.max};if(!r)return e._scaleRanges=o,!0;const s=r.xmin!==t.min||r.xmax!==t.max||r.ymin!==n.min||r.ymax!==n.max;return Object.assign(r,o),s}const jh=e=>e===0||e===1,_M=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*on/n)),TM=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*on/n)+1,_d={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*Pn)+1,easeOutSine:e=>Math.sin(e*Pn),easeInOutSine:e=>-.5*(Math.cos($t*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>jh(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>jh(e)?e:_M(e,.075,.3),easeOutElastic:e=>jh(e)?e:TM(e,.075,.3),easeInOutElastic(e){return jh(e)?e:e<.5?.5*_M(e*2,.1125,.45):.5+.5*TM(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-_d.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?_d.easeInBounce(e*2)*.5:_d.easeOutBounce(e*2-1)*.5+.5};function Iw(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function RM(e){return Iw(e)?e:new gf(e)}function Ov(e){return Iw(e)?e:new gf(e).saturate(.5).darken(.1).hexString()}const Vre=["x","y","borderWidth","radius","tension"],Wre=["color","borderColor","backgroundColor"];function Gre(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:Wre},numbers:{type:"number",properties:Vre}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function Ure(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const OM=new Map;function Kre(e,t){t=t||{};const n=e+JSON.stringify(t);let r=OM.get(n);return r||(r=new Intl.NumberFormat(e,t),OM.set(n,r)),r}function Ew(e,t,n){return Kre(t,n).format(e)}const qre={values(e){return On(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const r=this.chart.options.locale;let o,s=e;if(n.length>1){const c=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(c<1e-4||c>1e15)&&(o="scientific"),s=Xre(e,n)}const i=x$(Math.abs(s)),l=isNaN(i)?1:Math.max(Math.min(-1*Math.floor(i),20),0),a={notation:o,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),Ew(e,r,a)}};function Xre(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var I$={formatters:qre};function Yre(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:I$.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const ea=Object.create(null),Ex=Object.create(null);function Td(e,t){if(!t)return e;const n=t.split(".");for(let r=0,o=n.length;rr.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(r,o)=>Ov(o.backgroundColor),this.hoverBorderColor=(r,o)=>Ov(o.borderColor),this.hoverColor=(r,o)=>Ov(o.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return $v(this,t,n)}get(t){return Td(this,t)}describe(t,n){return $v(Ex,t,n)}override(t,n){return $v(ea,t,n)}route(t,n,r,o){const s=Td(this,t),i=Td(this,r),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],c=i[o];return pt(a)?Object.assign({},c,a):st(a,c)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var un=new Qre({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[Gre,Ure,Yre]);function Zre(e){return!e||kt(e.size)||kt(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function $M(e,t,n,r,o){let s=t[o];return s||(s=t[o]=e.measureText(o).width,n.push(o)),s>r&&(r=s),r}function ll(e,t,n){const r=e.currentDevicePixelRatio,o=n!==0?Math.max(n/2,.5):0;return Math.round((t-o)*r)/r+o}function FM(e,t){!t&&!e||(t=t||e.getContext("2d"),t.save(),t.resetTransform(),t.clearRect(0,0,e.width,e.height),t.restore())}function _x(e,t,n,r){E$(e,t,n,r,null)}function E$(e,t,n,r,o){let s,i,l,a,c,u,d,f;const h=t.pointStyle,g=t.rotation,m=t.radius;let C=(g||0)*Ere;if(h&&typeof h=="object"&&(s=h.toString(),s==="[object HTMLImageElement]"||s==="[object HTMLCanvasElement]")){e.save(),e.translate(n,r),e.rotate(C),e.drawImage(h,-h.width/2,-h.height/2,h.width,h.height),e.restore();return}if(!(isNaN(m)||m<=0)){switch(e.beginPath(),h){default:o?e.ellipse(n,r,o/2,m,0,0,on):e.arc(n,r,m,0,on),e.closePath();break;case"triangle":u=o?o/2:m,e.moveTo(n+Math.sin(C)*u,r-Math.cos(C)*m),C+=PM,e.lineTo(n+Math.sin(C)*u,r-Math.cos(C)*m),C+=PM,e.lineTo(n+Math.sin(C)*u,r-Math.cos(C)*m),e.closePath();break;case"rectRounded":c=m*.516,a=m-c,i=Math.cos(C+il)*a,d=Math.cos(C+il)*(o?o/2-c:a),l=Math.sin(C+il)*a,f=Math.sin(C+il)*(o?o/2-c:a),e.arc(n-d,r-l,c,C-$t,C-Pn),e.arc(n+f,r-i,c,C-Pn,C),e.arc(n+d,r+l,c,C,C+Pn),e.arc(n-f,r+i,c,C+Pn,C+$t),e.closePath();break;case"rect":if(!g){a=Math.SQRT1_2*m,u=o?o/2:a,e.rect(n-u,r-a,2*u,2*a);break}C+=il;case"rectRot":d=Math.cos(C)*(o?o/2:m),i=Math.cos(C)*m,l=Math.sin(C)*m,f=Math.sin(C)*(o?o/2:m),e.moveTo(n-d,r-l),e.lineTo(n+f,r-i),e.lineTo(n+d,r+l),e.lineTo(n-f,r+i),e.closePath();break;case"crossRot":C+=il;case"cross":d=Math.cos(C)*(o?o/2:m),i=Math.cos(C)*m,l=Math.sin(C)*m,f=Math.sin(C)*(o?o/2:m),e.moveTo(n-d,r-l),e.lineTo(n+d,r+l),e.moveTo(n+f,r-i),e.lineTo(n-f,r+i);break;case"star":d=Math.cos(C)*(o?o/2:m),i=Math.cos(C)*m,l=Math.sin(C)*m,f=Math.sin(C)*(o?o/2:m),e.moveTo(n-d,r-l),e.lineTo(n+d,r+l),e.moveTo(n+f,r-i),e.lineTo(n-f,r+i),C+=il,d=Math.cos(C)*(o?o/2:m),i=Math.cos(C)*m,l=Math.sin(C)*m,f=Math.sin(C)*(o?o/2:m),e.moveTo(n-d,r-l),e.lineTo(n+d,r+l),e.moveTo(n+f,r-i),e.lineTo(n-f,r+i);break;case"line":i=o?o/2:Math.cos(C)*m,l=Math.sin(C)*m,e.moveTo(n-i,r-l),e.lineTo(n+i,r+l);break;case"dash":e.moveTo(n,r),e.lineTo(n+Math.cos(C)*(o?o/2:m),r+Math.sin(C)*m);break;case!1:e.closePath();break}e.fill(),t.borderWidth>0&&e.stroke()}}function xf(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,c;for(e.save(),e.font=o.string,toe(e,s),a=0;a+e||0;function Rw(e,t){const n={},r=pt(t),o=r?Object.keys(t):t,s=pt(e)?r?i=>st(e[i],e[t[i]]):i=>e[i]:()=>e;for(const i of o)n[i]=loe(s(i));return n}function _$(e){return Rw(e,{top:"y",right:"x",bottom:"y",left:"x"})}function rc(e){return Rw(e,["topLeft","topRight","bottomLeft","bottomRight"])}function Ao(e){const t=_$(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function mr(e,t){e=e||{},t=t||un.font;let n=st(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let r=st(e.style,t.style);r&&!(""+r).match(soe)&&(console.warn('Invalid font style specified: "'+r+'"'),r=void 0);const o={family:st(e.family,t.family),lineHeight:ioe(st(e.lineHeight,t.lineHeight),n),size:n,style:r,weight:st(e.weight,t.weight),string:""};return o.string=Zre(o),o}function zh(e,t,n,r){let o,s,i;for(o=0,s=e.length;on&&l===0?0:l+a;return{min:i(r,-Math.abs(s)),max:i(o,s)}}function aa(e,t){return Object.assign(Object.create(e),t)}function Ow(e,t=[""],n,r,o=()=>e[0]){const s=n||e;typeof r>"u"&&(r=$$("_fallback",e));const i={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:r,_getTarget:o,override:l=>Ow([l,...e],t,s,r)};return new Proxy(i,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return R$(l,a,()=>moe(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return DM(l).includes(a)},ownKeys(l){return DM(l)},set(l,a,c){const u=l._storage||(l._storage=o());return l[a]=u[a]=c,delete l._keys,!0}})}function Nc(e,t,n,r){const o={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:T$(e,r),setContext:s=>Nc(e,s,n,r),override:s=>Nc(e.override(s),t,n,r)};return new Proxy(o,{deleteProperty(s,i){return delete s[i],delete e[i],!0},get(s,i,l){return R$(s,i,()=>uoe(s,i,l))},getOwnPropertyDescriptor(s,i){return s._descriptors.allKeys?Reflect.has(e,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,i)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,i){return Reflect.has(e,i)},ownKeys(){return Reflect.ownKeys(e)},set(s,i,l){return e[i]=l,delete s[i],!0}})}function T$(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:r=t.indexable,_allKeys:o=t.allKeys}=e;return{allKeys:o,scriptable:n,indexable:r,isScriptable:Qi(n)?n:()=>n,isIndexable:Qi(r)?r:()=>r}}const coe=(e,t)=>e?e+Pw(t):t,$w=(e,t)=>pt(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function R$(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)||t==="constructor")return e[t];const r=n();return e[t]=r,r}function uoe(e,t,n){const{_proxy:r,_context:o,_subProxy:s,_descriptors:i}=e;let l=r[t];return Qi(l)&&i.isScriptable(t)&&(l=doe(t,l,e,n)),On(l)&&l.length&&(l=foe(t,l,e,i.isIndexable)),$w(t,l)&&(l=Nc(l,o,s&&s[t],i)),l}function doe(e,t,n,r){const{_proxy:o,_context:s,_subProxy:i,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,i||r);return l.delete(e),$w(e,a)&&(a=Fw(o._scopes,o,e,a)),a}function foe(e,t,n,r){const{_proxy:o,_context:s,_subProxy:i,_descriptors:l}=n;if(typeof s.index<"u"&&r(e))return t[s.index%t.length];if(pt(t[0])){const a=t,c=o._scopes.filter(u=>u!==a);t=[];for(const u of a){const d=Fw(c,o,e,u);t.push(Nc(d,s,i&&i[e],l))}}return t}function O$(e,t,n){return Qi(e)?e(t,n):e}const hoe=(e,t)=>e===!0?t:typeof e=="string"?Jl(t,e):void 0;function poe(e,t,n,r,o){for(const s of t){const i=hoe(n,s);if(i){e.add(i);const l=O$(i._fallback,n,o);if(typeof l<"u"&&l!==n&&l!==r)return l}else if(i===!1&&typeof r<"u"&&n!==r)return null}return!1}function Fw(e,t,n,r){const o=t._rootScopes,s=O$(t._fallback,n,r),i=[...e,...o],l=new Set;l.add(r);let a=LM(l,i,n,s||n,r);return a===null||typeof s<"u"&&s!==n&&(a=LM(l,i,s,a,r),a===null)?!1:Ow(Array.from(l),[""],o,s,()=>goe(t,n,r))}function LM(e,t,n,r,o){for(;n;)n=poe(e,t,n,r,o);return n}function goe(e,t,n){const r=e._getTarget();t in r||(r[t]={});const o=r[t];return On(o)&&pt(n)?n:o||{}}function moe(e,t,n,r){let o;for(const s of t)if(o=$$(coe(s,e),n),typeof o<"u")return $w(e,o)?Fw(n,r,e,o):o}function $$(e,t){for(const n of t){if(!n)continue;const r=n[e];if(typeof r<"u")return r}}function DM(e){let t=e._keys;return t||(t=e._keys=boe(e._scopes)),t}function boe(e){const t=new Set;for(const n of e)for(const r of Object.keys(n).filter(o=>!o.startsWith("_")))t.add(r);return Array.from(t)}const voe=Number.EPSILON||1e-14,Hc=(e,t)=>te==="x"?"y":"x";function yoe(e,t,n,r){const o=e.skip?t:e,s=t,i=n.skip?t:n,l=Ix(s,o),a=Ix(i,s);let c=l/(l+a),u=a/(l+a);c=isNaN(c)?0:c,u=isNaN(u)?0:u;const d=r*c,f=r*u;return{previous:{x:s.x-d*(i.x-o.x),y:s.y-d*(i.y-o.y)},next:{x:s.x+f*(i.x-o.x),y:s.y+f*(i.y-o.y)}}}function xoe(e,t,n){const r=e.length;let o,s,i,l,a,c=Hc(e,0);for(let u=0;u!c.skip)),t.cubicInterpolationMode==="monotone")woe(e,o);else{let c=r?e[e.length-1]:e[0];for(s=0,i=e.length;se.ownerDocument.defaultView.getComputedStyle(e,null);function Poe(e,t){return Cb(e).getPropertyValue(t)}const Moe=["top","right","bottom","left"];function Nl(e,t,n){const r={};n=n?"-"+n:"";for(let o=0;o<4;o++){const s=Moe[o];r[s]=parseFloat(e[t+"-"+s+n])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}const Ioe=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function Eoe(e,t){const n=e.touches,r=n&&n.length?n[0]:e,{offsetX:o,offsetY:s}=r;let i=!1,l,a;if(Ioe(o,s,e.target))l=o,a=s;else{const c=t.getBoundingClientRect();l=r.clientX-c.left,a=r.clientY-c.top,i=!0}return{x:l,y:a,box:i}}function hl(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:r}=t,o=Cb(n),s=o.boxSizing==="border-box",i=Nl(o,"padding"),l=Nl(o,"border","width"),{x:a,y:c,box:u}=Eoe(e,n),d=i.left+(u&&l.left),f=i.top+(u&&l.top);let{width:h,height:g}=t;return s&&(h-=i.width+l.width,g-=i.height+l.height),{x:Math.round((a-d)/h*n.width/r),y:Math.round((c-f)/g*n.height/r)}}function _oe(e,t,n){let r,o;if(t===void 0||n===void 0){const s=e&&Dw(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const i=s.getBoundingClientRect(),l=Cb(s),a=Nl(l,"border","width"),c=Nl(l,"padding");t=i.width-c.width-a.width,n=i.height-c.height-a.height,r=zg(l.maxWidth,s,"clientWidth"),o=zg(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:r||Dg,maxHeight:o||Dg}}const Ei=e=>Math.round(e*10)/10;function Toe(e,t,n,r){const o=Cb(e),s=Nl(o,"margin"),i=zg(o.maxWidth,e,"clientWidth")||Dg,l=zg(o.maxHeight,e,"clientHeight")||Dg,a=_oe(e,t,n);let{width:c,height:u}=a;if(o.boxSizing==="content-box"){const f=Nl(o,"border","width"),h=Nl(o,"padding");c-=h.width+f.width,u-=h.height+f.height}return c=Math.max(0,c-s.width),u=Math.max(0,r?c/r:u-s.height),c=Ei(Math.min(c,i,a.maxWidth)),u=Ei(Math.min(u,l,a.maxHeight)),c&&!u&&(u=Ei(c/2)),(t!==void 0||n!==void 0)&&r&&a.height&&u>a.height&&(u=a.height,c=Ei(Math.floor(u*r))),{width:c,height:u}}function AM(e,t,n){const r=t||1,o=Ei(e.height*r),s=Ei(e.width*r);e.height=Ei(e.height),e.width=Ei(e.width);const i=e.canvas;return i.style&&(n||!i.style.height&&!i.style.width)&&(i.style.height=`${e.height}px`,i.style.width=`${e.width}px`),e.currentDevicePixelRatio!==r||i.height!==o||i.width!==s?(e.currentDevicePixelRatio=r,i.height=o,i.width=s,e.ctx.setTransform(r,0,0,r,0,0),!0):!1}const Roe=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};Lw()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return e}();function jM(e,t){const n=Poe(e,t),r=n&&n.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}function pl(e,t,n,r){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function Ooe(e,t,n,r){return{x:e.x+n*(t.x-e.x),y:r==="middle"?n<.5?e.y:t.y:r==="after"?n<1?e.y:t.y:n>0?t.y:e.y}}function $oe(e,t,n,r){const o={x:e.cp2x,y:e.cp2y},s={x:t.cp1x,y:t.cp1y},i=pl(e,o,n),l=pl(o,s,n),a=pl(s,t,n),c=pl(i,l,n),u=pl(l,a,n);return pl(c,u,n)}const Foe=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,r){return n-r},leftForLtr(n,r){return n-r}}},Loe=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function oc(e,t,n){return e?Foe(t,n):Loe()}function L$(e,t){let n,r;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,r=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=r)}function D$(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}function A$(e){return e==="angle"?{between:yf,compare:Fre,normalize:Io}:{between:Ii,compare:(t,n)=>t-n,normalize:t=>t}}function zM({start:e,end:t,count:n,loop:r,style:o}){return{start:e%n,end:t%n,loop:r&&(t-e+1)%n===0,style:o}}function Doe(e,t,n){const{property:r,start:o,end:s}=n,{between:i,normalize:l}=A$(r),a=t.length;let{start:c,end:u,loop:d}=e,f,h;if(d){for(c+=a,u+=a,f=0,h=a;fa(o,w,b)&&l(o,w)!==0,k=()=>l(s,b)===0||a(s,w,b),P=()=>m||S(),M=()=>!m||k();for(let I=u,E=u;I<=d;++I)y=t[I%i],!y.skip&&(b=c(y[r]),b!==w&&(m=a(b,o,s),C===null&&P()&&(C=l(b,o)===0?I:E),C!==null&&M()&&(g.push(zM({start:C,end:I,loop:f,count:i,style:h})),C=null),E=I,w=b));return C!==null&&g.push(zM({start:C,end:d,loop:f,count:i,style:h})),g}function joe(e,t){const n=[],r=e.segments;for(let o=0;o